如何解决Octave ztest 中的无效名称参数
我正在尝试在 Octave 中创建一个 self.begin = node
,但出现了一个奇怪的错误。
这是我的代码:
Z-test
错误是:
A =[ 7 7 4 5 9 9
4 12 8 1 8 7
3 13 2 1 17 7
12 5 6 2 1 13
14 10 2 4 9 11
3 5 12 6 10 7 ];
x = A(:)';
n = length(x);
fprintf(' Volume %d \n',n)
med = mean(x);
fprintf(' Sample mean %f\n',med)
sigma = 5;
m0 = 9;
type = -1; %left tailed test
alpha1 = 0.05; %significance level
alpha2 = 0.01;
fprintf('\n')
fprintf('SIGNIFICANCE LEVEL %f:\n',alpha1)
[h1,p1,ci1,zstat1] = ztest(x,m0,sigma,alpha1,type);
我想知道为什么会发生这种情况。希望这不是因为我使用 Octave 而不是 Matlab。实际上那是...它适用于 MATLAB Online。
解决方法
该错误的解释非常清楚:Octave 不支持您使用的语法(五个数字参数)。事实上,在 Matlab 中也没有记录该语法,似乎只是为了向后兼容才支持该语法,如 ztest
源代码所示:
if nargin>=4 <p>
if isnumeric(varargin{1})
% Old syntax
% ZTEST(X,M,SIGMA,ALPHA,TAIL,DIM)
[...]
解决方案是使用 Matlab 和 Octave 官方支持的语法,将超出第三个的参数指定为 parameter,value 对:
[h1,p1,ci1,zstat1] = ztest(x,m0,sigma,'alpha',alpha1,'tail','left');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。