Если один и тот же код работает для одного, а не для другого, то я думаю, что версия 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)