2010-02-26 3 views
0

Что мне нужно сделать, чтобы сделать 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 Па $ 1660 [[4]] АСН $ 1660 [[4]] 0,340761 79,3716 -0,7039350 .05 Па $ 1660 [[5]] АСН $ 1660 [[5]] 0,185355 65,0975 - 1. 0,06 Па $ 1660 [[6]] ASN $ 1660 [[6]] 0,1 52,7007 -1,27609 0,07 Па $ 1660 [[7]] ASN $ 1660 [[7]] 0,0547126 43,2261 -1,5388 0,08 Па $ 1660 [[8]] ASN $ 1660 [[8]] 0,0304681 36,1651 -1,79248 0,09 Па $ 1660 [[9]] АСН $ 1660 [[9]] 0,017227 30,8583 -2,04012 0,1 Па $ 1660 [[10]] АСН $ 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 –

+0

Отметьте, я не получаю ошибки. – Timo

Смежные вопросы