我为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));
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列附近
我不知道我做错了什么,因为我已经使其他功能运作良好。我也知道算法效果很好,因为我之前测试过它。
我做错了什么?