функция 'ttest' не работает в Matlab

1371

Когда я использую это утверждение в 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
DaveParillo

Если один и тот же код работает для одного, а не для другого, то я думаю, что версия 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) 
Задача решена. Это была проблема, связанная с путями. Файл nanmean.m был в наборе инструментов mGstat, а не в наборе инструментов STATS, где помещается ttest.m. Спасибо! 13 лет назад 1

Похожие вопросы