diqiti.m
来自「gui小程序」· M 代码 · 共 31 行
M
31 行
function arnoldi()
A=rand(20);
v(:,1)=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]';
m = input('请输入m:');
for j=1:m
s(1:20,j)=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]';
for i=1:j
h(i,j)=v(:,i)'*A*v(:,j);
s(1:20,j)=s(1:20,j)+h(i,j)*v(:,i);
end
bav(:,j+1)=A*v(:,j)-s(1:20,j);
h(j+1,j)=norm(bav(:,j+1));
v(:,j+1)=bav(:,j+1)/h(j+1,j);
end
h(1:m,1:m)
eig(h(1:m,1:m))
ta(:,1)=eig(A)
t=eig(h(1:m,1:m));
x=real(ta);
y=imag(ta);
x1=real(t);
y1=imag(t);
plot(x,y,'k*',x1,y1,'b*')
xlabel('特征值');
ylabel('图像');
title('A与Hm的特征值比较');
axis([-8,15,-2,2]);
legend('A的特征值','Hm的特征值');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?