在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
算法推导: 1 function [u,n]=GaussSeid(A,b,u0,eps,M) 2 %GaussSeid.m为用高斯-塞德尔迭代法求解线性方程组 3 %A为线性方程组的系数矩阵 4 %b为线性方程组的常数向量 5 %u0为迭代初始向量 6 %eps为解的精度控制 7 %M为迭代步数控制 8 %u为线性方程组的解 9 %n为求出所需精度的解实际的迭代次数 10 if nargin==3 11 eps=1.0e-16; 12 M=200; 13 elseif nargin==4 14 M=200; 15 elseif nargin<3 16 error; 17 return; 18 end 19 D=diag(diag(A));%求A的对角矩阵 20 L=-tril(A,-1);%求A的下三角阵 21 U=-triu(A,1);%求A的上三角阵 22 G=(D-L)\U; 23 f=(D-L)\b; 24 u=G*u0+f; 25 n=1; 26 while norm(u-u0)>=eps & n<=10000 27 u0=u; 28 u=G*u0+f; 29 n=n+1; 30 % if (n>=M) 31 % disp('Warning:迭代次数太多,可能不收敛!'); 32 % return; 33 % end 34 end
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论