当前位置:网站首页 > C++编程 > 正文

jacobi迭代法迭代次数_迭代法的基本原理

Jacobi迭代法matlab程序(《数值分析原理》)

1、Jacobi迭代格式

Jacobi迭代法是常见的几种迭代法之一,迭代格式如下图所示:(图片来自CHD的ztl老师的PPT)(具体内容详见《数值分析原理》)
在这里插入图片描述
在这里插入图片描述

2、Jacobi迭代法的例子

该例子使用matlab的命令文件格式,命名为jacobi.m。

举例:设有方程组在这里插入图片描述

取初始向量为x(0)=(-3,1,1)(T),用Jacobi方法求解,要求||x(k+1)-x(k)||小于等于10……(-3)。

% 题目信息 % A为线性方程组的系数矩阵 A=[5 2 1;-1 4 2;2 -3 10]; % b为常系数 x为初始向量 b=[-12;20;3]; x=[-3;1;1]; % epslion为误差值 epslion=0.001; % N为自己设置的迭代次数  N=20; % 公式 L=tril(A,-1); %L为A的单位下三角矩阵 D=diag(diag(A)); %D为A的对角矩阵 U=triu(A,1); %U为A的上三角矩阵 B=-D\(L+U); %B为迭代矩阵 g=D\b; error=1; n=0; for i=1:N while error>epslion && n<N y=x; x=B*x+g; error=norm(y-x,inf); %可以使用任何范数,此处使用无穷范数(结果是一样的) if error>epslion n=n+1; fprintf('第%d次jacobi迭代结果为:',n) disp(x); fprintf('第%d次迭代结果的误差为:\n',n); disp(error) break end if error<=epslion n=n+1; fprintf('第%d次jacobi迭代结果为:',n) disp(x); fprintf('第%d次迭代结果的误差为:\n',n); disp(error); fprintf('该方程组的jacobi迭代法的最小迭代次数为:') disp(n); break end end end 

执行结果:

>> jacobi 第1次jacobi迭代结果为: -3.0000 3.7500 1.20001次迭代结果的误差为: 2.75002次jacobi迭代结果为: -4.1400 3.6500 2.02502次迭代结果的误差为: 1.14003次jacobi迭代结果为: -4.2650 2.9525 2.22303次迭代结果的误差为: 0.69754次jacobi迭代结果为: -4.0256 2.8223 2.03874次迭代结果的误差为: 0.23945次jacobi迭代结果为: -3.9367 2.9742 1.95185次迭代结果的误差为: 0.15206次jacobi迭代结果为: -3.9800 3.0399 1.97966次迭代结果的误差为: 0.06577次jacobi迭代结果为: -4.0119 3.0152 2.00807次迭代结果的误差为: 0.03188次jacobi迭代结果为: -4.0077 2.9930 2.00698次迭代结果的误差为: 0.02229次jacobi迭代结果为: -3.9986 2.9946 1.99949次迭代结果的误差为: 0.009110次jacobi迭代结果为: -3.9977 3.0006 1.998110次迭代结果的误差为: 0.006011次jacobi迭代结果为: -3.9999 3.0015 1.999711次迭代结果的误差为: 0.002112次jacobi迭代结果为: -4.0006 3.0002 2.000412次迭代结果的误差为: 0.001413次jacobi迭代结果为: -4.0002 2.9996 2.000213次迭代结果的误差为: 5.1691e-04 该方程组的jacobi迭代法的最小迭代次数为: 13 

(内容为自己的尝试,若有错漏或改进方法请多多指正啦~)

到此这篇jacobi迭代法迭代次数_迭代法的基本原理的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 异步编程 js_编程scratch32024-11-12 22:54:08
  • completablefuture异步编程_pycharm好用的插件2024-11-12 22:54:08
  • ubuntuvscode配置c++环境_python环境搭建2024-11-12 22:54:08
  • vscode运行php配置_php编程软件2024-11-12 22:54:08
  • Harmony Native C++ 开发简单计算器2024-11-12 22:54:08
  • cam编程步骤_CAM软件编程2024-11-12 22:54:08
  • cam-tool编程教程_cam编程的基本流程2024-11-12 22:54:08
  • cam编程步骤_mastercam编程案例2024-11-12 22:54:08
  • cam_toolcnc编程软件_cam编程的基本流程2024-11-12 22:54:08
  • cam编程教学_perl语言教程2024-11-12 22:54:08
  • 全屏图片