MATLAB实现雅可比与高斯塞德尔迭代

您所在的位置:网站首页 用迭代法求解方程组 MATLAB实现雅可比与高斯塞德尔迭代

MATLAB实现雅可比与高斯塞德尔迭代

2023-10-02 09:10| 来源: 网络整理| 查看: 265

概述

用MATLAB编程实现,形成m函数文件。输入A,b矩阵,无返回值,解得x向量直接显示在命令行窗口,同时绘制出x向量的收敛曲线。 A = [ 2 − 1 1 1 1 1 1 1 − 2 ] b = [ 1 1 1 ] A=\begin{bmatrix} 2&-1&1\\1&1&1\\1&1&-2\end{bmatrix} b=\begin{bmatrix} 1\\1\\1\end{bmatrix} A=⎣⎡​211​−111​11−2​⎦⎤​b=⎣⎡​111​⎦⎤​

高斯塞德尔方法 代码 function [] = gaussseidel(A,b) %高斯塞德尔迭代法 G=-(diag(diag(A))+tril(A,-1))\triu(A,1); R=max(abs(eig(G))); if(R>=1) disp('Gauss-Seidel is not work'); else disp('Gauss-Seidel is going well'); disp('x vector:') d1=(diag(diag(A))+tril(A,-1))\b; x=zeros(size(b)); for k=1:100 x(:,k+1)=G*x(:,k)+d1; if(max(abs(x(:,k+1)-x(:,k)))=1) disp('Jacobi is not work'); else disp('Jacobi is going well'); disp('x vector:') d1=diag(diag(A))\b; x=zeros(size(b)); for k=1:100 x(:,k+1)=B*x(:,k)+d1; if(max(abs(x(:,k+1)-x(:,k)))


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3