matlab-解线性方程组的迭代法课件

上传人:风*** 文档编号:241780466 上传时间:2024-07-23 格式:PPT 页数:34 大小:858.27KB
返回 下载 相关 举报
matlab-解线性方程组的迭代法课件_第1页
第1页 / 共34页
matlab-解线性方程组的迭代法课件_第2页
第2页 / 共34页
matlab-解线性方程组的迭代法课件_第3页
第3页 / 共34页
点击查看更多>>
资源描述
科学计算与科学计算与MATLABMATLAB主讲:唐建国主讲:唐建国主讲:唐建国主讲:唐建国中南大学材料科学与工程学院中南大学材料科学与工程学院中南大学材料科学与工程学院中南大学材料科学与工程学院 2013201320132013科学计算与MATLAB主讲:唐建国第十讲解线性方程组的迭代解法第十讲解线性方程组的迭代解法第十讲解线性方程组的迭代解法内容提要内容提要n n引言引言n n简单迭代法简单迭代法n n赛得尔迭代法赛得尔迭代法n n迭代解法的收敛性迭代解法的收敛性 n nMATLAB的线性方程组求解函数的线性方程组求解函数2n n小结小结内容提要引言 根据给定方程组,设计出一个迭代公式,构造一根据给定方程组,设计出一个迭代公式,构造一数组的序列数组的序列 ,代入迭代公式,计算出,代入迭代公式,计算出 ,再代,再代入迭代公式,经过入迭代公式,经过k次迭代运算后得到次迭代运算后得到 ,若,若 收敛于某一极限数组收敛于某一极限数组xi,则,则xi就是方程组的近似解。就是方程组的近似解。迭代过程本质上就是计算极限的过程,一般不能迭代过程本质上就是计算极限的过程,一般不能得到精确解。得到精确解。迭代法的优点是程序简单,适合于大型方程组求迭代法的优点是程序简单,适合于大型方程组求解,但缺点是要判断迭代是否收敛和收敛速度问题。解,但缺点是要判断迭代是否收敛和收敛速度问题。1.雅可比雅可比(Jacobi(1804-1851)迭代法(简单迭代法)迭代法(简单迭代法)2.赛得尔赛得尔(Seidel(1821-1896)迭代法迭代法迭代解法的基本思想迭代解法的基本思想1、引言、引言 根据给定方程组,设计出一个迭代公式,构造一数组的设线性代数方程组为设线性代数方程组为2、简单迭代法、简单迭代法展开为展开为设线性代数方程组为2、简单迭代法展开为若对角元素若对角元素逐一变量分离得方程组逐一变量分离得方程组若对角元素逐一变量分离得方程组即即此即为迭代公式此即为迭代公式简单迭代解法的过程如下:简单迭代解法的过程如下:1 设定一组初值设定一组初值第第i个变量个变量第第k次迭代次迭代2 第一次迭代:第一次迭代:得到得到即此即为迭代公式简单迭代解法的过程如下:1 设定一组初值第3 第二次迭代:第二次迭代:得到得到4 同样做法,得到第同样做法,得到第k+1次迭代:次迭代:3 第二次迭代:得到4 同样做法,得到第k+1次迭代:迭代次数迭代次数k k的取值与精度要求有关,按下式判断:的取值与精度要求有关,按下式判断:若满足则停止迭代若满足则停止迭代为了便于编程,为了便于编程,迭代公式可改写为:迭代公式可改写为:迭代次数k的取值与精度要求有关,按下式判断:若满足则停止迭代MATLAB程序设计程序设计function x,n=richason(A,b,x0,eps,M)if(nargin=3)eps=1.0e-6;M=200;elseif(nargin=4)M=200;EndI=eye(size(A);x1=x0;x=(I-A)*x0+b;n=1;。while(norm(x-x1)eps)x1=x;x=(I-A)*x1+b;n=n+1;if(n=M)disp(Warning:迭代次数太多,现迭代次数太多,现在退出!在退出!);return;endendMATLAB程序设计function x,n=richa例:求解方程组例:求解方程组clear all;A=1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898;b=1 0 1;x0=0 0 0;x,n=richason(A,b,x0)x=0.9739 -0.0047 1.0010n=5例:求解方程组clear all;x=赛得尔迭代法与简单迭代法类似,只是迭代公式有所赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。改进。3、赛得尔迭代法、赛得尔迭代法简单迭代法简单迭代法赛得尔迭代法赛得尔迭代法 赛得尔迭代法与简单迭代法类似,只是迭代公式有MATLAB程序设计程序设计function x,n=gauseidel(A,b,x0,eps,M)if nargin=3 eps=1.0e-6;M =200;elseif nargin=4 M =200;elseif nargin=eps x0=x;x=G*x0+f;n=n+1;if(n=M)disp(Warning:迭代次数太多,可能不迭代次数太多,可能不收敛!收敛!);return;endendMATLAB程序设计function x,n=gause例:线性代数方程组的迭代解法例:线性代数方程组的迭代解法-赛得得尔尔迭代法迭代法clear all;A=9 53 381;53 381 3017;381 3017 25317;b=76 489 3547;x0=zeros(3,1);x,n=gauseidel(A,b,x0,1e-4,10)Warning:迭代次数太多,可能不收敛!迭代次数太多,可能不收敛!x=-0.8037 3.3330 -0.2450n=200例:线性代数方程组的迭代解法-赛得尔迭代法clear 迭代解法的前提条件是迭代解出的近似解序列必须具迭代解法的前提条件是迭代解出的近似解序列必须具有收敛性。如果近似解序列是发散的,有收敛性。如果近似解序列是发散的,迭代法则不能获得迭代法则不能获得解。解。4、迭代解法的收敛性迭代解法的收敛性 迭代解法的前提条件是迭代解出的近似解序列必须具以下列初值进行简单迭代以下列初值进行简单迭代kX1X2X30000111-14-32-6981663-499-374-42944851-7149-2124以下列初值进行简单迭代kX1X2X30000111-14-3迭代收敛条件:严格对角占优矩阵迭代收敛条件:严格对角占优矩阵若不满足收敛条件,适当调整方程次序或作一若不满足收敛条件,适当调整方程次序或作一定的线性组合,就可能满足收敛条件。定的线性组合,就可能满足收敛条件。迭代收敛条件:严格对角占优矩阵若不满足收敛条件,适当调整方程格式格式solve(eqn1,eqn2,.,eqnN,var1,var2,.,varN)5、MATLAB的线性方程组求解函数的线性方程组求解函数2格式5、MATLAB的线性方程组求解函数2matlab-解线性方程组的迭代法课件格式格式X=fsolve(FUN,X0)Matlab非线性方程组求解非线性方程组求解说明:说明:求解方程形式求解方程形式F(X)=0 X、F可以是向量或矩阵可以是向量或矩阵 X0 初值初值格式Matlab非线性方程组求解说明:matlab-解线性方程组的迭代法课件实例:基于实例:基于Matlab的透镜中心偏测量光轴拟合的透镜中心偏测量光轴拟合光学中心偏测量仪作为精确测定和严格校正光学系统中心偏光学中心偏测量仪作为精确测定和严格校正光学系统中心偏误差的仪器误差的仪器,它可以指出透镜组中的各镜面相对于光轴的中它可以指出透镜组中的各镜面相对于光轴的中心偏移数值大小和方向。它的测量结果具有两个方面的意义心偏移数值大小和方向。它的测量结果具有两个方面的意义:其一是通过根据被测光学件各面的中心误差是否超出其一是通过根据被测光学件各面的中心误差是否超出,来判来判定光学件是否合格定光学件是否合格;其二是根据测量的结果来指导光学系统其二是根据测量的结果来指导光学系统的装校。的装校。为消除被测件在测量仪器上的安装定位过程带来的误差为消除被测件在测量仪器上的安装定位过程带来的误差,必必须对直接测量的数据进行修正。光轴拟合就是对测量数据的须对直接测量的数据进行修正。光轴拟合就是对测量数据的优化和修正的过程。提出一种光轴拟合的数学模型优化和修正的过程。提出一种光轴拟合的数学模型,该数学该数学模型结合了解析方法和数值分析方法模型结合了解析方法和数值分析方法,考虑了中心偏测量的考虑了中心偏测量的实际情况实际情况,在严格的数学模型基础上做了合理的简化在严格的数学模型基础上做了合理的简化,使光轴使光轴的拟合问题最终转化为对线性方程组的求解。的拟合问题最终转化为对线性方程组的求解。实例:基于Matlab的透镜中心偏测量光轴拟合光学中心偏测量matlab-解线性方程组的迭代法课件3)应用最小二乘法得到关于四参数的线性方程组。应用最小二乘法得到关于四参数的线性方程组。得到各面球心的位置坐标后得到各面球心的位置坐标后,按照一般直线拟合的方法按照一般直线拟合的方法,应使各球应使各球心对优化轴距离的平方和最小心对优化轴距离的平方和最小,符合数学上的最小二乘法。符合数学上的最小二乘法。N个个球心到优化轴距离的平方和球心到优化轴距离的平方和:3)应用最小二乘法得到关于四参数的线性方程组。matlab-解线性方程组的迭代法课件matlab-解线性方程组的迭代法课件matlab-解线性方程组的迭代法课件扩展:基于扩展:基于MATLAB的非线性方程组遗传解法的非线性方程组遗传解法胡斐,赵治国胡斐,赵治国(同济大学汽车学院,上海同济大学汽车学院,上海201804)遗传算法是一种基于自然选择的用于求解有约束和无约束遗传算法是一种基于自然选择的用于求解有约束和无约束最优问题的方法。遗传算法反复修改包含若干个体的种群。最优问题的方法。遗传算法反复修改包含若干个体的种群。遗传算法在每一步中,随机从当前种群中选择若干个个体遗传算法在每一步中,随机从当前种群中选择若干个个体作为父辈,并用它们产生下一代子辈。在若干代之后,种作为父辈,并用它们产生下一代子辈。在若干代之后,种群就朝着最优解群就朝着最优解“进化进化”。我们可以利用遗传算法去解决。我们可以利用遗传算法去解决各种最优化问题,包括目标函数是不连续、不可微、随机各种最优化问题,包括目标函数是不连续、不可微、随机或者高度非线性的问题。或者高度非线性的问题。MATLAB的遗传算法与直接搜索工具箱(的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox,简称,简称GADS)是)是MATLAB的一个优化工具箱。它有两种使用方式:一种是的一个优化工具箱。它有两种使用方式:一种是通过命令行调用通过命令行调用ga函数,另一种是通过图形界面调用。函数,另一种是通过图形界面调用。扩展:基于MATLAB的非线性方程组遗传解法遗传算法是一种基matlab-解线性方程组的迭代法课件matlab-解线性方程组的迭代法课件matlab-解线性方程组的迭代法课件小小 结结线性方程组求根方法的几何意义线性方程组求根方法的几何意义线性方程组求根方法的几何意义线性方程组求根方法的几何意义线性方程组求根函数线性方程组求根函数线性方程组求根函数线性方程组求根函数的理解与应用的理解与应用的理解与应用的理解与应用小 结线性方程组求根方法的几何意义谢 谢!谢 谢!matlab-解线性方程组的迭代法课件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!