高斯列主元消去法解线性方程组的实现.docVIP

高斯列主元消去法解线性方程组的实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高斯列主元消去法解线性方程组的实现

高斯列主元消去法解线性方程组的实现 班级 学号 姓名榴莲 一、实验任务 采用高斯列主元消去法求解线性方程组,以下消解方程为例。 1 2 1 x1 0 2 2 2 x2 = 3 -1 -3 0 x3 2 二、编程环境 Windows7,Codeblock. 三、算法步骤 Gauss 消去法的基本思想是,通过将一个方程乘或除某个数以及两个方程相 加减这两种运算手续,逐步减少方程组中变元的数目,最终使某个方程只含有一 个变元,从而得出所求的解。对于,Gauss 消去法的求解思路为: (1) 若,先让第一个方程组保持不变,利用它消去其余方程组中的,使之变成 一个关于变元的 n-1 阶方程组。 (2) 按照(1)中的思路继续运算得到更为低阶的方程组。(3) 经过 n-1 步的消元后,得到一个三角方程。 (4) 利用求解公式回代得到线性方程组的解。 四、程序流程图 数据结构: i,j 变量 double a[10][10] a 矩阵 double b[10] b 矩阵 double x[10] 求解的 x 矩阵 n 矩阵的维度 五、程序 #includestdio.h #includemath.h void guess(double a[][10],double b[],double x[],int n) { int k,i,j; for(k=0; kn-1; k++) { double ma = a[k][k]; int tab = k; for(i=k+1; in; i++) { if(fabs(ma)fabs(a[i][k])) { ma = a[i][k]; tab = i; } } double mid; mid = b[k]; b[k] = b[tab]; b[tab] = mid; for(i=k; in; i++) { mid = a[k][i]; a[k][i] = a[tab][i]; a[tab][i] = mid; } for(i=k+1; in; i++) { b[i]=b[i]-a[i][k]/a[k][k]* b[k]; for(j=k+1; jn; j++) { a[i][j]=a[i][j]-a[i][k]/a[k][k]*a[k][j]; } a[i][k]=0; } } for(k=n-1; k=0; k--) { double s =0; for(j=k+1; jn; j++) s += a[k][j]*x[j]; x[k]=(b[k]-s)/a[k][k]; } } int main() { int i,j; double a[10][10] = {{1,2,1},{2,2,3},{-1,-3,0}}; double b[10] = {0,3,2}; double x[10]; int k,n=3; guess(a,b,x,n); printf(三角化矩阵 A:\n); for(i=0; in; i++) { for(j=0; jn; j++) { printf(%7.2lf,a[i][j]); } printf(\n); } printf(\n 方程数值 b:\n); for(i=0; in; i++) printf(%7.2lf,b[i]); printf(\n); printf(\n 求得的函数值 x:\n); for(i=0; in; i++) printf(%7.2lf,x[i]); printf(\n); } 六、实验结果及分析 高斯消去法由消元和回代两个过程组成。消元就是对增广矩阵做有限次的初等行变换,使它的系数矩阵部分变为一个上三角矩阵。用一个数乘某一行加到另一行上。经过 n-1 次消元后,原增广矩阵变为行阶梯矩阵,然后就可以求的 x 值。 七、心得体会 通过这次数值分析实验,使我加深了对 Gauss 消去求解线性方程组的理解, 掌握了利用各种方法进行 Gauss 消元解线性方程组。我相信,在我以后的学习生

文档评论(0)

haocen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档