线方程组简单迭代法.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线方程组简单迭代法

第三章 求解线性方程组的迭代方法;引言 ;两个简单的例子; 例1;(1.3); 将这些值代入(1.3) 式右边 (若(1.3)式为等式即求得方程组的解,但一般不满足).;(1.4); 从此例看出,由迭代法产生的向量序列 逐步逼近;迭代法的基本思想是构造一个向量序列{X(k)},使其收敛到某个极限向量 X*,而X*就是 AX = b 的准确解。 问题:如何构造迭代序列? 迭代序列在什么情况下收敛? ;简单迭代法的迭代格式; 设 ,并将 写为三部分 ;易知,雅各布(Jacobi)迭代有;; 的雅可比(Jacobi)迭代公式如下: ;于是,解 的雅可比迭代法的分量计算公式为 ;;; 由可知计算过程可知,雅可比迭代法计算 公式简单,每迭代一次只需计算一次矩阵和 向量的乘法且计算过程中原始矩阵A始终不变. ;例1 用J法求解线性方程组;取初始向量x(0)=(0,0,0)T,迭代可得;k;简单迭代法的算法如下:; 对于任何由 变形得到的等价方程组 ,;一般迭代法收敛性的基本定理; 设有解 的迭代法 ;因此,研究迭代法(2.2)收敛性问题就是要研究迭代矩阵 满足什么条件时,有 ; 定理1; 推论;计算机实现程序;#includestdio.h #includemath.h #define eps 1e-3 #define max 100 void Jacobi(float *a,int n,float x[]) { int i,j,k=0; double epsilon,s; double *y=new double[n]; for(i=0;in;i++)x[i]=0; while(1) { epsilon=0; k++; for(i=0;in;i++) { s=0; for(j=0;jn;j++) { if(j==i)continue; s+=*(a+i*(n+1)+j)*x[j]; } y[i]=(*(a+i*(n+1)+n)-s)/(*(a+i*(n+1)+i)); epsilon += fabs(y[i]-x[i]); } for(i=0;in;i++)x[i]=y[i]; if(epsiloneps) {printf(迭代次数为:%d\n,k);return;} if(k=max) {printf(迭代发散);return;} }delete y;};void main() { int i; float a[4][5]={10,-1,2,0,-11,0,8,-1,3,-11,2,-1,10,0,6,-1,3,-1,11,25}; /*float a[9][10]={31,-13,0,0,0,-10,0,0,0,-15, -13,35,-9,0,-11,0,0,0,0,27, 0,-9,31,-10,0,0,0,0,0,-23, 0,0,-10,79,-30,0,0,0,-9,0, 0,0,0,-30,57,-7,0,-5,0,-20, 0,0,0,0,7,47,-30,0,0,12, 0,0,0,0,0,-30,41,0,0,-7, 0,0,0,0,-5,0,0,27,-2,7, 0,0,0,0,0,0,0,-2,29,-10};*/ float x[4]; //float x[9]; Jacobi(a[0],4,x); //Jacobi(a[0],9,x); for(i=0;i4/*9*/;i++); printf(x[%d]=%f\n,i,x[i]); };作业题:P104 1

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档