文章目录

  • Jacobi迭代法matlab程序(《数值分析原理》)
    • 1、Jacobi迭代格式
    • 2、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:Nwhile error>epslion && n<Ny=x;x=B*x+g;error=norm(y-x,inf);  %可以使用任何范数,此处使用无穷范数(结果是一样的)if error>epslionn=n+1;fprintf('第%d次jacobi迭代结果为:',n)disp(x);fprintf('第%d次迭代结果的误差为:\n',n);disp(error)breakendif error<=epslionn=n+1;fprintf('第%d次jacobi迭代结果为:',n)disp(x);fprintf('第%d次迭代结果的误差为:\n',n);disp(error);fprintf('该方程组的jacobi迭代法的最小迭代次数为:')disp(n);breakendend
end

执行结果:

>> jacobi
第1次jacobi迭代结果为:-3.00003.75001.2000
第1次迭代结果的误差为:2.7500第2次jacobi迭代结果为:-4.14003.65002.0250
第2次迭代结果的误差为:1.1400第3次jacobi迭代结果为:-4.26502.95252.2230
第3次迭代结果的误差为:0.6975第4次jacobi迭代结果为:-4.02562.82232.0387
第4次迭代结果的误差为:0.2394第5次jacobi迭代结果为:-3.93672.97421.9518
第5次迭代结果的误差为:0.1520第6次jacobi迭代结果为:-3.98003.03991.9796
第6次迭代结果的误差为:0.0657第7次jacobi迭代结果为:-4.01193.01522.0080
第7次迭代结果的误差为:0.0318第8次jacobi迭代结果为:-4.00772.99302.0069
第8次迭代结果的误差为:0.0222第9次jacobi迭代结果为:-3.99862.99461.9994
第9次迭代结果的误差为:0.0091第10次jacobi迭代结果为:-3.99773.00061.9981
第10次迭代结果的误差为:0.0060第11次jacobi迭代结果为:-3.99993.00151.9997
第11次迭代结果的误差为:0.0021第12次jacobi迭代结果为:-4.00063.00022.0004
第12次迭代结果的误差为:0.0014第13次jacobi迭代结果为:-4.00022.99962.0002
第13次迭代结果的误差为:5.1691e-04该方程组的jacobi迭代法的最小迭代次数为:    13

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

Jacobi迭代法的matlab程序(《数值分析原理》)相关推荐

  1. jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析

    jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...

  2. 秦九韶算法matlab程序,数值分析matlab程序实例.doc

    数值分析matlab程序实例 1,秦九韶算法,求出P(x=3)=2+4x+5x^2+2x^3的值 clear?all; x=3; n=3; a(1)=2;a(2)=4;a(3)=5;a(4)=2 v( ...

  3. 反幂法matlab程序,数值分析幂法和反幂法.doc

    <数值分析幂法和反幂法.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<数值分析幂法和反幂法.doc>文档请在天天文库搜索. 1.题目幂法和反幂 ...

  4. MATLAB用SOR方法解方程组,SOR迭代法 求MATLAB程序

    满意答案 vwbog 2014.11.02 采纳率:41%    等级:6 已帮助:1507人 function [n,x]=sor22(A,b,X,nm,w,ww) %用超松弛迭代法求解方程组Ax= ...

  5. 数值分析拉格朗日实验题MATLAB程序,数值分析实验报告(拉格朗日插值牛顿插值最小二乘法)...

    实验1 拉格朗日插值法 一.方法原理 n次拉格朗日插值多项式为:Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+-+ynln(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/( ...

  6. 数值分析共轭梯度法matlab程序,数值分析11(共轭梯度法).ppt

    Possion方程: 令 h = 1/(n+1) , xj= jh, yj = jh ( i , j = 0,1, ···, n+1 ) 记 ui,j= u(xi , yj ), ( i , j = ...

  7. 牛头刨床matlab程序,牛头刨床matlab程序 机械原理课程设计

    clear all;clc; %初始条件 theta1=linspace(-18,342,100);%单位度 theta1=theta1*pi/180;%转换为弧度制 W1=80*pi/30;%角速度 ...

  8. Jacobi迭代法分量形式matlab,mtalab中jacobi迭代法

    一.实验目的及题目 1.1 实验目的: (1)学会用高斯列主元消去法,LU 分解法,Jacobi 迭代法和 Gauss-Seidel 迭代法解线性 方程组. (2)学会用 Matlab 编写..... ...

  9. matlab编jacobi方法,jacobi迭代法matlab

    h Matlab 线性方程组的迭代解法(Jacobi 迭代法 Gauss-Seidel 迭代法)实验报告 2008年11月09日 星期日 12:49 1.熟悉 Jacobi 迭代法,并编写 Matla ...

最新文章

  1. Yann LeCun“隔纸对话”黄铁军:图灵机上的深度学习能模拟世界吗?
  2. vbs删除非空文件夹
  3. 【MM配置】Purchasing 采购配置
  4. python中map()和dict()怎么用?你知道吗?-用法详解
  5. [Django]SE项目回忆录(二)-注册/登录功能的实现及细节
  6. HDU 1978 How many ways DP问题
  7. js立即执行函数_《JS 函数的执行时机》
  8. 超详细的springBoot学习教程
  9. 席位、交易单元、交易网关是什么
  10. html+css 背景图片铺满并居中
  11. 乡土中国思维导图精华版
  12. SQL用month()函数当前月时,不足10的前面补0
  13. Beats: 使用 Filebeat 进行日志结构化 - Python
  14. 阿里linux内核月报201412
  15. RT-Thread学习1-tcp_modbus
  16. omap-l138烧写程序之 - 启动模式选择及确认
  17. 用python计算整数各位数字之和
  18. 阿里云营收破百亿很牛?和AWS等全球头部厂商还差太多!
  19. 蓝牙规范-Vol 6:低功耗控制器 Part A 物理层规范
  20. 从0单排:学风侏儒——小样本学习11-18年

热门文章

  1. 中点分割裁剪算法 c语言,裁剪算法——中点分割算法/Liang-Barsky算法
  2. cc笔记_web测试用例
  3. HTML 表单 表格 列表
  4. centos 6.2 bind dlz mysql 驱动,bind9 dlz mysql 配置 – daemon
  5. MYSQL UNION 同列类型不同时的处理方法
  6. 如何在photoshop里画虚线
  7. 四年级下册计算机作业,科学(四年级下册)作业.doc
  8. 基于CIFAR100的VGG网络结构详解
  9. java中函数的调用,java中如何调用函数
  10. 机器人SLAM与自主导航——(四)Gazebo仿真机器人导航