givens.m

来自「这是我从一本基于MATLAB实现的数值分析算法的书中自带的光盘程序」· M 代码 · 共 18 行

M
18
字号
function [K,L]=givens(H,n,eig1)
J=eye(n,n);
c=zeros(n,n);
s=zeros(n,n);
for i=2:n-1
    for j=1:n
        if H(i,j)*H(i,i)+H(i+1,j)*H(i+1,i)~=0
        c(i,i)=H(i,j)*eig1(i,1)/(H(i,j)*H(i,i)+H(i+1,j)*H(i+1,i));
        s(i,j)=H(i+1,j)*eig1(i,1)/(H(i,j)*H(i,i)+H(i+1,j)*H(i+1,i));
        J(i,i)=c(i,i);
        J(i,j)=s(i,j);
        J(i+1,i)=s(i,j);
        J(i+1,j)=c(i,i);
        end
    end
end
K=J*H
L=eig(J)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?