Jacobi迭代法

发布时间:2023-01-06 01:12:02

Jacobi迭代法functionsolution=Jacobi(Ab,epsilon%%Ab为用户输入的增广矩阵%%epsilon为用户所输入的精度要求%%输入参数检查ifnargin==1disp('请输入精度要求epsilon'returnendrow=size(Ab,1;col=size(Ab,2;ifndims(Ab~=2|col-row~=1disp('矩阵的大小有误,不能使用Jacobi迭代法'returnendA=Ab(:,1:row;b=Ab(:,col;ddet=abs(det(A;ddiag=abs(det(diag(diag(A;ifddet|ddiagdisp('该方程的系数矩阵行列式为零,方程组无解或有无穷多解,或系数矩阵的对角线有零元,不能使用Jacobi迭代法'returnend%%提取上下三角矩阵及对角矩阵U=-triu(A,1;L=-tril(A,-1;Dinv=diag(diag(A.^(-1;B=Dinv*(L+U;f=Dinv*b;ifmax(abs(eig(B>=1disp('迭代法不收敛!!!'returnend%%迭代过程error=10;
start=zeros(row,1;xk=start;xknext=B*xk+f;error=norm(xk-xknext;whileerror>epsilonxk=xknext;xknext=B*xk+f;error=norm(xk-xknext;endsolution=xknext;

Jacobi迭代法

相关推荐