2015-05-08 74 views
0

我遇到了問題。我需要計算平均值,但我不明白爲什麼下面的代碼不起作用。我讀了文檔,這個函數應該接受一個列表並返回平均值。我究竟做錯了什麼?爲什麼我不能以這種方式將一個列表傳遞給函數?我應該怎麼做才能得到正確的結果? 預先感謝您。在wolfram mathematica中傳遞列表作爲參數

size = 15; 
list = Table[0, {size}]; (*Declare a list*) 
count = 0; 
While[count < size, 
    list[[count]] = 
    InverseCDF[NormalDistribution[0, 1], RandomReal[]]; 
    count++ 
] 
Mean[list] (*Try to get the mean value*) 
+1

數學列表索引從1開始你可以使用'RandomVariate'。 – agentp

+0

是的,我已經注意到了。無論如何,謝謝你的幫助。 – Max

回答

2
size = 15; 
list = Table[0, {size}];(*Declare a list*) 
count = 1; 
While[count <= size, 
list[[count]] = InverseCDF[NormalDistribution[0, 1], RandomReal[]]; 
count++] 
Mean[list] (*Try to get the mean value*) 

另外,

size = 15; 
list = InverseCDF[NormalDistribution[0, 1], RandomReal[{0, 1}, size]] 
Mean[list] 

因爲InverseCDF計算一個列表,這可以通過象徵性的變量測試來觀察:

InverseCDF[NormalDistribution[0, 1], {a, b}]