fori=n:-1:1%倒着循环
b=0;
forj=n:-1:i+1
b=b+B(i,j)*X(j,1);
end
B(i,n+1);
X(i,1)=(B(i,n+1)-b)/B(i,i);
End
2.平方根法
functionX=Square_root(A,b)
%A=L*LT
n=length(A);
L=zeros(n,n);
%①
forj=1:n
L(j,j)=sqrt(A(j,j)-sum(L(j,1:j-1).^2));
fori=j+1:n
L(i,j)=(A(i,j)-sum(L(i,1:j-1).*L(j,1:j-1)))/L(j,j);
end
end
L
% LY=b②
Y=zeros(n,1);
fori=1:n
Y(i)=(b(i)-L(i,1:i-1)*Y(1:i-1))/L(i,i);
end
% LT*X=Y③
X=zeros(n,1);
fori=n:-1:1
X(i)=(Y(i)-sum(L(i+1:n,i).*X(i+1:n)))/L(i,i);
end
X
end
3.追赶法
functionX=Chase(A,f)
%初始化矩阵维度
n=length(f);
L=zeros(n);
U=eye(n);
x=zeros(n,1);
y=zeros(n,1);
a=[0;diag(tril(A,-1),-1)];%下对角
b=diag(A);%主对角
c=[diag(triu(A,1),1);0];%上对角线
评论0
最新资源