Jacobi迭代法的matlab程序(《数值分析原理》)
文章目录
- 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程序(《数值分析原理》)相关推荐
- jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析
jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...
- 秦九韶算法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( ...
- 反幂法matlab程序,数值分析幂法和反幂法.doc
<数值分析幂法和反幂法.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<数值分析幂法和反幂法.doc>文档请在天天文库搜索. 1.题目幂法和反幂 ...
- MATLAB用SOR方法解方程组,SOR迭代法 求MATLAB程序
满意答案 vwbog 2014.11.02 采纳率:41% 等级:6 已帮助:1507人 function [n,x]=sor22(A,b,X,nm,w,ww) %用超松弛迭代法求解方程组Ax= ...
- 数值分析拉格朗日实验题MATLAB程序,数值分析实验报告(拉格朗日插值牛顿插值最小二乘法)...
实验1 拉格朗日插值法 一.方法原理 n次拉格朗日插值多项式为:Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+-+ynln(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/( ...
- 数值分析共轭梯度法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 = ...
- 牛头刨床matlab程序,牛头刨床matlab程序 机械原理课程设计
clear all;clc; %初始条件 theta1=linspace(-18,342,100);%单位度 theta1=theta1*pi/180;%转换为弧度制 W1=80*pi/30;%角速度 ...
- Jacobi迭代法分量形式matlab,mtalab中jacobi迭代法
一.实验目的及题目 1.1 实验目的: (1)学会用高斯列主元消去法,LU 分解法,Jacobi 迭代法和 Gauss-Seidel 迭代法解线性 方程组. (2)学会用 Matlab 编写..... ...
- matlab编jacobi方法,jacobi迭代法matlab
h Matlab 线性方程组的迭代解法(Jacobi 迭代法 Gauss-Seidel 迭代法)实验报告 2008年11月09日 星期日 12:49 1.熟悉 Jacobi 迭代法,并编写 Matla ...
最新文章
- Yann LeCun“隔纸对话”黄铁军:图灵机上的深度学习能模拟世界吗?
- vbs删除非空文件夹
- 【MM配置】Purchasing 采购配置
- python中map()和dict()怎么用?你知道吗?-用法详解
- [Django]SE项目回忆录(二)-注册/登录功能的实现及细节
- HDU 1978 How many ways DP问题
- js立即执行函数_《JS 函数的执行时机》
- 超详细的springBoot学习教程
- 席位、交易单元、交易网关是什么
- html+css 背景图片铺满并居中
- 乡土中国思维导图精华版
- SQL用month()函数当前月时,不足10的前面补0
- Beats: 使用 Filebeat 进行日志结构化 - Python
- 阿里linux内核月报201412
- RT-Thread学习1-tcp_modbus
- omap-l138烧写程序之 - 启动模式选择及确认
- 用python计算整数各位数字之和
- 阿里云营收破百亿很牛?和AWS等全球头部厂商还差太多!
- 蓝牙规范-Vol 6:低功耗控制器 Part A 物理层规范
- 从0单排:学风侏儒——小样本学习11-18年
热门文章
- 中点分割裁剪算法 c语言,裁剪算法——中点分割算法/Liang-Barsky算法
- cc笔记_web测试用例
- HTML 表单 表格 列表
- centos 6.2 bind dlz mysql 驱动,bind9 dlz mysql 配置 – daemon
- MYSQL UNION 同列类型不同时的处理方法
- 如何在photoshop里画虚线
- 四年级下册计算机作业,科学(四年级下册)作业.doc
- 基于CIFAR100的VGG网络结构详解
- java中函数的调用,java中如何调用函数
- 机器人SLAM与自主导航——(四)Gazebo仿真机器人导航