问题描述
我想用八度来编写一个函数,但是我在这样做的过程中发现了一些问题:
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 (将#修改为@)