0

Pa[p] を ASN[P] にして数値として出力するにはどうすればよいですか。短縮コードを以下に示します。roots、PA2[p]、および ANS2[p] は i インデックスを使用して作成されます。

MMA コード: ****************

Clear[x, y, p];
x := BinomialDistribution[n1, p];
y := BinomialDistribution[n2, p];

Pa[p_] := CDF[x, c1] + Sum[PDF[x, j]*CDF[y, c2 - j], {j, c1 + 1, c2}];
Print[TableForm[Table[{p, Pa[p]}, {p, .01, .1, .01}],
             TableHeadings -> {None, {"p", "Pa[p]"}}]];
ASN[p_] := n1*1 + n2* CDF[x, c2] - CDF[x, c1];   
Print[TableForm[Table[{p, ASN[p]}, {p, .01, .1, .01}],
             TableHeadings -> {None, {"p", "ASN[p]"}}]];

p = {.01, .02, .03, .04, .05, .06, .07, .08, .09, .1};
Print[TableForm[
Table[ {r2[[i]], p[[i]], Pa[[i]], ASN[[i]], Pa2[[i]],ASN2[[i]] }, 
      {i, 1,10,1}],               
 TableHeadings -> {None, {"roots", "p", "Pa[p]","ASN[p]","PA2[p]","ASN2[p]"} } ]];

MMA 出力: ****************

p   Pa[p]
0.01    0.980277
0.02    0.817478
0.03    0.555413
0.04    0.327922
0.05    0.177956
0.06    0.0916007
0.07    0.0453877
0.08    0.0217882
0.09    0.0101644
0.1 0.00461704

p   ASN[p]
0.01    178.866
0.02    176.136
0.03    167.438
0.04    153.427
0.05    137.505
0.06    122.884
0.07    111.274
0.08    102.986
0.09    97.5368
 0.1    94.1847

roots           p             Pa[p]          ASN[p]             PA2[p]          ASN2[p]
1.17508      0.01   Pa$1660[[1]]    ASN$1660[[1]]   0.977398        64.4721
0.472821     0.02   Pa$1660[[2]]    ASN$1660[[2]]   0.840606             84.1587
0.000638883  0.03   Pa$1660[[3]]    ASN$1660[[3]]   0.583404        89.3915

-0.3770350 .04 Pa$1660[[4]] ASN$1660[[4]] 0.340761 79.3716 -0.7039350 .05 Pa$1660[[5]] ASN$1660[[5]] 0.185355 65.0975 -1. 0.06 Pa$1660[[6]] ASN$1660[[6]] 0.1 52.7007 -1.27609 0.07 Pa$1660[[7]] ASN$1660[[7]] 0.0547126 43.2261 -1.53​​88 0.08 Pa$1660[[8]] ASN$1660[[ 8]] 0.0304681 36.1651 -1.79248 0.09 Pa$1660[[9]] ASN$1660[[9]] 0.017227 30.8583 -2.04012 0.1 Pa$1660[[10]] ASN$1660[[10]] 0.009857293 26.

4

2 に答える 2

2

[[]]functionのリスト位置を評価しようとしています[]。つまり、呼び出すPa[[i]]と意味不明になります。あなたが欲しいのはですPa[p[[i]]]

于 2010-02-26T14:51:46.153 に答える
1

関数Pa[p_]とを定義ASN[p_]しましたが、配列として添字を付けることができる配列を定義した場所がわかりません。ここで使用している多くの定義が欠落しているため、動作するコードを提供することは困難ですが、試してみることをお勧めします

Print[TableForm[
  Table[{r2[[i]], p[[i]], Pa[i*0.1], ASN[i*0.1], Pa2[[i]], ASN2[[i]]}, {i,
    1, 10, 1}], 
   TableHeadings -> {None, {"roots", "p", "Pa[p]", "ASN[p]", "PA2[p]", 
     "ASN2[p]"}}]]

または似たようなもの。

于 2010-02-26T13:19:39.070 に答える