具有多个索引的mathematica打印

时间:2010-02-26 12:51:38

标签: wolfram-mathematica

我需要做什么才能使Pa [p]成为ASN [P]作为数值出现。 下面给出了代码。根,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.00985218 26.7938

2 个答案:

答案 0 :(得分:2)

您正在尝试评估函数[[]]的列表位置[],即当您致电Pa[[i]]时,您会感到胡言乱语。你想要的是Pa[p[[i]]]

答案 1 :(得分: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]"}}]]

或类似的东西。