📄 雅可比爹迭代法解方程ax=b.m
字号:
%_________________________________________________________________
%雅克比迭代法解方程AX=B,方法简述如下:
%A分解成D(对角矩阵)负的上三角矩阵和负的下三角矩阵U和L,即有A=D-L-U
% 迭代式子为:X(k+1)=D^(-1)(L+U)*X(k)+D^(-1)B
%迭代法收敛的充分必要条件:当k趋于无穷大时候,B^k=0
% 迭代矩阵B的普半径(B矩阵特征值的最大值)小于1
%__________________________________________________________________
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%调用格式:[X,k,err]=jacobi(A,B,P,delta,max1)
% 参数说明:输入参数 -A,B输入的方程中的两个参数(AX=B)
% -P,初始迭代值,任取
% -delta,误差项,max1,循环的最大次数
function [X,k,err]=jacobi(A,B,P,delta,max1)
N=length(B);
D=zeros(N);
for i=1:N
D(i,i)=A(i,i);
end
%求出迭代式中的两个参数
Bj=inv(D)*(D-A);
Fj=inv(D)*B;
%迭代过程
for k=1:max1
X=Bj*P+Fj;
if (norm(abs(X-P))<delta)|((norm(abs(X-P))/(norm(abs(X-P))+eps))<delta)
err=norm(abs(X-P));
break
end
P=X;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -