如何解决为什么 Octave 看不到这个对象?
我想用八度来编写一个函数,但是我在这样做的过程中发现了一些问题:
N=700;
T=900;
lambda=N/T;
x=randn(N,T);
s=std(x(:));
r=x*x'/T;
l=eig(r);
lambda_plus=(s^2)*(1+sqrt(lambda))^2;
lambda_minus=(s^2)*(1-sqrt(lambda))^2;
# Define a function - value of this function depenends
# on position of x
function kiki = avg (x)
if (x <= lambda_plus && x >= lambda_minus)
(1/(2*pi*lambda*x*s^(2)))*sqrt((lambda_plus-x)*(x-lambda_minus));
else
0
endif
endfunction
然后我想运行这个函数,所以我确实运行了 avg(2)
但它不起作用。
我看到的错误是:
error: 'lambda_plus' undefined near line 15,column 15
但这不是真的! lambda_plus
定义在函数定义之前!
我读到这个问题可能是,因为八度没有看到我们的功能,解决方案是:
我完全按照他们说的做了,并在新创建的文件中运行了 avg(2)
,但不幸的是结果完全相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。