2015-05-08 2 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

Mathematica список индексов начинаются с 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}] 
Смежные вопросы