网站大量收购独家精品文档,联系QQ:2885784924

列主元素消去法.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012-2013(1)专业课程实践论文 列主元素消去法 范 宁:0818180102,R数学08-1班 夏之秋:0818180110,R数学08-1班 一、算法理论 列主元素消去法既是选主元高斯消去法的一种,也是实际计算中常用的部分选主元消去法。 列主元素消去法则是对完全主元素消去法的又一次改进。列主元素消去法在完全主元素消去法的基础上减少了在选主元素时所要花费的一定的计算时间。 设有线性方程组 其中,为非奇异矩阵。 方程组的增广矩阵为 首先在的第1列选取绝对值最大的元素作为主元素,即选择 然后交换的第1行与第行(交换后增广矩阵为简单起见仍记为,其元素仍记为)。经过第1次消元计算得到与原方程组等价的方程组 其中 上述过程可记为 重复上述计算过程,现假设已完成第步的选主元素过程,交换两行并进行消元计 此时约化为 其中的元素仍记为,的元素仍记为. 第步选主元素(在右下角方阵的第1列内选),即确定,使 ??交换第行与行的元素,再进行消元计算,最后将原线性方程组化为 回代可求解得 二、算法框图 输出迭代失败标志交换中两行输入(增广矩阵)开始输出奇异标志结束 输出迭代失败标志 交换中两行 输入(增广矩阵) 开始 输出奇异标志 结束 三、算法程序 #include stdio.h #includeconio.h #include math.h #include stdlib.h #define max_dimension 20 int n; static float a[max_dimension][max_dimension]; static float b[max_dimension]; static float x[max_dimension]; void main() { int i; int j; int d; int row; float temp; float known_items; float l[max_dimension][max_dimension]; system(cls); printf(Please Input Matrix jieshu :); scanf(%d,n); printf(\n); printf(Please Input Matrix Factors : ); printf(\n); for (i=0; in; i++) { printf(input di %d hang dezhi:,i+1); for (j=0; jn; j++) { scanf(%f,a[i][j]); } printf(\n); } printf(Please Input Changshu xiang: ); for (i=0; in; i++) scanf(%f,b[i]); printf(The Augmented(zenguang) Matrix is :\n\n); for (i=0; in; i++) { for (j=0; jn; j++) printf(%f,a[i][j]); printf(%f,b[i]); printf(\n); } printf(\n); for (d=0; dn-1;d++) { row=d; for (i=d+1; in; i++) { if(fabs(a[i][d])fabs(a[row][d])) row=i; } if (row!=d) { for (j=d;jn; j++) { temp=a[row][j]; a[row][j]=a[d][j]; a[d][j]=temp; } temp=b[row]; b[row]=b[d]; b[d]=temp; } for (i=d+1; in; i++) { l[i][d]=-a[i][d]/a[d][d]; for (j=d;jn; j++) { a[i][j]=a[i][j]+a[d][j]*l[i][d]; } b[i]=b[i]+b[d]*l[i][d]; } } printf(The shangsanjiaozenguang Matrix after predigestion is:\n\n); for (i=0; in; i++) { for (j=0; jn; j++) printf(%f,a[i][j]); printf(%f,b[i]); printf(

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档