




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
线性方程组求解的数值方法摘要:线性代数方程组的数值求解具有重要意义,不仅有些实际模型会直接提出这类问题,还有很多是由求解其他类型的问题导出的。因此正确的求解线性方程组就显得必要了。数值求解线性代数方程组的方法依其主要特点分为直接法和迭代法两大类。对于中小规模的问题直接法通常有一定的优越性,而迭代法则是一个更广阔的领域。下面将介绍三种数值算法Cramer法则、Gauss列主元消去法、Jacobi迭代法,通过举例说明各种算法的特点。关键词:线性方程组,数值算法下面将通过解这个线性方程组说明这三种数值解法一、Cramer法则克莱姆法则(Cramers Rule)是线性代数中一个关于求解线性方程组的定理。如果线性方程组的系数行列式,则这个方程组有唯一解,其解为:其中是把D中的第j列元素换成常数项所得的行列式,求解过程,在matlab命令窗口键入: A=10 -7 0;-3 2 6;5 -1 5; d=det(A); d1=det(7 -7 0;4 2 6;6 -1 5)d1 = 0 d2=det(10 7 0;-3 4 6;5 6 5)d2 = 155 d3=det(10 -7 7;-3 2 4;5 -1 6)d3 = -155 x1=d1/dx1 = 0 x2=d2/dx2 = -1 x3=d3/dx3 = 1Cramer法则只适用于变量和方程数目相等且系数行列式不等于零的线性方程组,对于其他一般的线性方程组则需要更完备的算法来实现。二、Gauss消去法记线性方程组为Ax=b, 其中A,x=, b=记其增广矩阵为设主元,记,用乘增广矩阵的第1行,再分别与第i行相加,得,其中i,j=2,3,n i=2,3,n又设主元乘矩阵的第二行,再与第i行相加(i=3,4,n),得。经过n-1步消去后,增广矩阵最终变为一个上三角矩阵。求解过程,首先建立M文件:function x=Gauss(a,b)n,m=size(a);nb=length(b);det=1;x=zeros(n,1);for k=1:n-1 amax=0; for i=k:n if abs(a(i,k)amax amax=abs(a(i,k);r=i; end end if amaxk for j=k:n z=a(k,j);a(k,j)=a(r,j);a(r,j)=z; end z=b(k);b(k)=b(r);b(r)=z;det=-det; end for i=k+1:n m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b(i)-m*b(k); end det=det*a(k,k);enddet=det*a(n,n);for k=n:-1:1 for j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k);end在matlab命令窗口键入: a=10,-7,0;-3,2,6;5,-1,5; b=7;4;6; x=Gauss(A,b)x = 0.0000 -1.00001.0000Gauss消去法的本质是矩阵的分解,在每步用来消去其他元素的称为该步的主元素。而事实证明主元素的选择不同得到的计算结果也是不一样的,因此Gauss消去法在计算机上作为数值算法实际使用时,主元素的选取极其重要。三、Jacobi迭代法将线性方程组Ax=b(设)化成等价方程组: 采用迭代格式 求解过程,首先建立M文件:function x,n=jacobi(A,b,x0,eps,varargin)if nargin=3 eps= 1.0e-6; M = 5;elseif nargin=eps x0=x; x=B*x0+f; n=n+1; if(n=M) disp(Warning: 迭代次数太多,可能不收敛!); return; endend在matlab命令窗口键入: A=10,-7,0;-3,2,6;5,-1,5; b=7;4;6; x0=0;0;0; x,n=Jacobi(A,b,x0)Warning: 迭代次数太多,可能不收敛!x = 4.5518 1.4975 -0.1145n = 5为了比较相同迭代次数下初值不同所得结果能有怎样变化,下面改变初值,取初值近似于实际结果观察得到的值 x0=0;-1.00000002;1.00001; x,n=Jacobi(A,b,x0)Warning: 迭代次数太多,可能不收敛!x = -0.0000 -1.0000 1.0000n = 5此时得到的结果跟前面所用方法得到的结果相同。在确定初值的前提下,改变迭代次数,观察得到的结果迭代次数为20次: x,n=Jacobi(A,b,x0)Warning: 迭代次数太多,可能不收敛!x = -0.0031 -1.0055 1.0017n =20迭代次数为30次 x,n=Jacobi(A,b,x0)Warning: 迭代次数太多,可能不收敛!x = -0.0882 -1.1842 1.0362n = 30由此可以看出当初值确定时,迭代次数越多得到的结果偏差越大,即是说迭代次数太多导致方程组的系数矩阵不收敛了。通过Jacobi迭代法的计算,可以看出影响迭代收敛的因素有迭代初值、迭代矩阵。除了以上三种算法,Gauss-Seidel迭代法也是计算线性方程组的一种常用方法,他与Jacobi迭代法基本类似,它们区别在于Jacobi迭代中,每次迭代式只用到前一次的迭代值,而在Gauss-Seidel迭代中,每次迭代充分利用最新的迭代值,一旦一个分量的新值被求出,就立即用于后续分量的迭代计算,而不必等到所以分量的新值求出以后。Gauss-Seidel迭代法的迭代格式作为,它比Jacobi迭代法更加精确。当用这两种迭代法收敛速度都较慢时,则通常采用超松弛迭代法SOR,它是Gauss-Seidel方法的加速。在这些常用的解决线性方程组的算法中,没有绝对的哪种算法优越于其他算法,要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色低碳数字化新型园区污水处理厂项目可行性研究报告模板立项申批备案
- 2025合作协议样本
- 2025年春季部编版初中数学教学设计八年级下册第1课时 平行四边形的判定 1
- 摄像课基础知识培训课件
- 2025年版动产与不动产抵押合同模板
- 公司股权税务知识培训总结
- 公司组织安全知识培训课件
- 插花入门基础知识培训课件
- 制造业岗位面试题及答案
- 2025济南市房屋租赁合同中介版
- 酒店客房样板间装修验收记录表
- 2024年高级统计实务考试真题及答案解析
- 铁总物资〔2015〕250号:中国铁路总公司物资采购异议处理办法
- GB/Z 42625-2023真空技术真空计用于分压力测量的四极质谱仪特性
- 人民医院心血管外科临床技术操作规范2023版
- 助理工程师考试试题以及答案
- 送东阳马生序
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- GB/T 16674.1-2016六角法兰面螺栓小系列
- 住宅项目景观工程施工策划(图文并茂)
评论
0/150
提交评论