“ttest”函数在 Matlab 中不起作用

“ttest”函数在 Matlab 中不起作用

当我在计算机上的 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

如果同一段代码在一台机器上运行良好,而在另一台机器上却不行,那么我猜是您在一台机器上使用的 matlab 版本比另一台机器更挑剔。您是否检查过两台机器上的 matlab 版本是否相同?我猜是不同的。

无论如何,可以尝试以下方法:

在我看来,好像一个 matlab 版本将输出视为 randn 作为传递给 ttest 的一系列参数,而不是包含随机样本的向量。

另外,为了帮助调试,我会使用:

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

你试过吗x=randn([100,1])?虽然我认为这没什么关系……

是否有可能有时 0.1 作为集合的平均值没有意义?查看 x 可能会有所帮助。我猜这对两者都有效,假设您希望平均值为 = 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)

相关内容