📄 diqiti.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -