1

Когда я использую это утверждение в Matlab на моем компьютере, тогда возникает ошибка:

 [h,p,ci]=ttest(randn(100,1),0.1)

Ошибка:

??? Error using ==> nanmean
Too many input arguments.

Error in ==> ttest at 104
xmean = nanmean(x,dim);

Однако, если я использую то же выражение в Matlab на другом компьютере, то он работает нормально и дает результаты. Вы знаете, в чем может быть проблема? Я публикую этот вопрос здесь, подозревая, что это какая-то программная проблема с Matlab. Поправь меня, если я ошибаюсь.

1 ответ1

1

Если один и тот же код работает для одного, а не для другого, то я думаю, что версия matlab, которую вы используете для одного, более требовательна, чем для другого. Вы проверили, что они одинаковые версии Matlab на обеих машинах? Я думаю, они разные.

Независимо от того, что можно попробовать:

Мне кажется, что одна версия Matlab рассматривает вывод как randn как последовательность аргументов, переданных в ttest, а не как вектор, содержащий вашу случайную выборку.

Кроме того, просто чтобы помочь отладке, я бы использовал:

x=randn(100,1)
[h,p,ci]=ttest(x,0.1)

Вы пробовали x=randn([100,1])? Хотя я бы не ожидал, что это имеет значение ...

Возможно ли, что иногда 0,1 не имеет смысла как среднее для набора? Глядя на х может помочь. Я предполагаю, что это будет работать на обоих, при условии, что вы хотите, чтобы среднее значение было = 0,1:

% Generate values from a normal distribution with mean 0.1 
% and standard deviation 0.5
x=0.1 + 0.5*randn(100,1)
[h,p,ci]=ttest(x)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .