2010-02-26 45 views
0

我需要做些什麼來使Pa [p]成爲ASN [P]作爲數值出現。 已刪除的代碼如下。使用i索引創建根,PA2 [p]和ANS2 [p] 。有多個索引的mathematica打印

MMA CODE:****************

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 OUTPUT:*****************

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 0.04帕$ 1660年[[4]] ASN $ 1660年[[4]] 0.340761 79.3716 -0.7039350 0.05帕$ 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] [[8]] 0.0304681 36.1651 -1.79248 0.09帕$ 1660年[[9]] ASN $ 1660年[[9]] 0.017227 30.8583 -2.04012 0.1帕$ 1660年[[10]] ASN $ 1660年[[10]] 0.00985218 26.7938

回答

1

你已經定義了函數Pa[p_]ASN[p_],但是我沒有看到你定義的數組可以作爲數組下標。很多你用這裏的定義都是misisng,因此很難提供工作的代碼,但你可能想嘗試

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]"}}]] 

或類似的東西。

2

您正試圖評估函數[]的列表位置[[]],即當您撥打Pa[[i]]時,您將看到亂碼。你想要的是Pa[p[[i]]]

+0

嗨,我試過,但得到一個錯誤。 BinomialDistribution :: probparm:參數{0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1}預計爲0到1之間的概率。> 似乎不能提取矢量的一個元素。 CDF [BinomialDistribution [90,{0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1}],2] + ... Mary – 2010-02-26 18:00:04

+0

檢查符號,我沒有得到任何錯誤。 – Timo 2010-02-26 20:51:49