Matlab 八度音程中的函数不运行
我为Householder算法制作了以下八度函数:Matlab 八度音程中的函数不运行,matlab,function,octave,Matlab,Function,Octave,我为Householder算法制作了以下八度函数: function [matQ, matR] = HS(A) [m,n]=size(A); Q = eye(n); %Loop for (k = 1:n) x=A(k:m, k); I = eye(m-k+1); e1 = I(:,1); if( (sign(x(1)) == 0) ) sinal = 1; else sinal = sign(x(1));
function [matQ, matR] = HS(A)
[m,n]=size(A);
Q = eye(n);
%Loop
for (k = 1:n)
x=A(k:m, k);
I = eye(m-k+1);
e1 = I(:,1);
if( (sign(x(1)) == 0) )
sinal = 1;
else
sinal = sign(x(1));
end
v = x + sign(x(1))*norm(x)*e1;
Hk = eye(m-k+1) - 2/(v' * v) * (v * v');
Qk = [eye(k-1) , zeros(k-1, m-k+1); zeros(m-k+1, k-1), Hk];
A = Qk*A;
Q = Q*Qk;
endfor
matQ = Q
matR = A
endfunction
但是当我用八度音阶调用它时,我得到了如下信息:“HS”在第5行第1列附近未定义
我不知道我做错了什么,因为我已经做了其他功能,工作得很好。我也知道该算法运行良好,因为我以前已经测试过它
我做错了什么?函数是否保存在当前工作目录中?是。我在同一个目录下测试了另一个函数,效果很好。您是从命令行运行该函数,还是从另一个函数运行?从命令行运行