直接法解线性方程组_第1页
直接法解线性方程组_第2页
直接法解线性方程组_第3页
直接法解线性方程组_第4页
直接法解线性方程组_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学与计算科学学院实验报告实验项目名称直接法解线性方程组所属课程名称数值方法A实验种类考证型实验日期班级信计12-学号0姓名成绩一、实验概括:【实验目的】1.掌握用C语言编程实现追赶法求解三对角线性方程组;2.掌握运用高斯列主元消去法解线性方程组;3.加深对解线性方程组的直接法高斯列主消元法和LU分解法的结构过程的理解;4.熟习并掌握各样方法的合用对象及优弊端,学会针对不一样问题选择不一样方法;5.培育使用电子计算机进行科学计算和解决问题的能力。【实验原理】1.追赶法原理2.高斯列主元消去法【实验环境】1.硬件环境2.软件环境1)2)VC+二、实验内容:【实验过程】(实验步骤)1.实验步骤1)

2、深入认识解题过程并挨次写出解题算法;2)依据算法用C语言编写解题程序;3)上机时将写好的程序输入到VC+中并调试运转得出方程的解;4)比较几种方法之间的联系与差别。追赶法依据以上的实验原理,在VC+编写框中输入源程序:2-11-12-10A-12-1f0-12-10-120由原理可知:b1=2,c1=-1,f1=1a2=-1,b2=2,c2=-1,f2=0a3=-1,b3=2,c3=-1,f3=0a4=-1,b4=2,c4=-1,f4=0a5=-1,b5=2,f5=0将上述系数逐一输入运转框,并经过多次调试运转,最后运转出结果以下:Gauss消元法1)数据输入main(void)floatA4

3、4=,;floatb4=,;floatx4=0;floatAik,S;inti,j,k;intsize=4;printf(An);for(i=0;isize;i+)for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;isize;i+)printf(%f,bi);printf(nn);2)消去过程赶法结果2.高斯消去法和列主元消去法1)高斯消去法结果截图:2)列主元消去法结果截图:【实验小结】(收获领会)经过运用追赶法来求解三对角方程组的问题.追赶法是用来求解三对角方程组的专用方法,关于三有学好逻辑,学好算法,才能使用编程使计

4、算精度进一步提升。三、指导教师考语及成绩:考语1.实验报告准时达成,笔迹清楚,文字表达流利,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详尽,记录完好,数据合理,剖析透辟)4实验结论正确.成绩:指导教师署名:批阅日期:附录:源程序程序1:#include#include#include#defineMAX_n100#definePRECISIONvoidSulutionOutput(floatx,intn)inti;for(i=1;i=n;+i)printf(nx%d=%f,i,xi);voidTriDiagonalMatrixInput(floata,floatb,floatc,flo

5、atf,intn)inti;printf(请输入b1,c1,f1:);scanf(%f%f%f,&b1,&c1,&f1);for(i=2;in;+i)printf(请输入a%d,b%d,c%d,f%d:,i,i,i,i);scanf(%f%f%f%f,&ai,&bi,&ci,&fi);printf(请输入a%d,b%d,f%d:,n,n,n);scanf(%f%f%f,&an,&bn,&fn);voidZ_G_method(floata,floatb,floatc,floatf,intn)inti;c1/=b1;for(i=2;in;+i)ci/=(bi-ai*ci-1);f1/=b1;for

6、(i=2;i0;-i)fi-=ci*fi+1;voidmain()intn;floataMAX_n,bMAX_n,cMAX_n;floatfMAX_n;printf(n请输入n=);scanf(%d,&n);TriDiagonalMatrixInput(a,b,c,f,n);Z_G_method(a,b,c,f,n);SulutionOutput(f,n);程序2:1)高斯消去法程序:#includemain(void)floatA44=,;floatb4=,;floatx4=0;floatAik,S;inti,j,k;intsize=4;printf(An);for(i=0;isize;i+

7、)for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;isize;i+)printf(%f,bi);printf(nn);消去过程for(k=0;ksize-1;k+)if(!Akk)return-1;for(i=k+1;isize;i+)Aik=Aik/Akk;for(j=k;jsize;j+)Aij=Aij-Aik*Akj;bi=bi-Aik*bk;消去的结果printf(An);for(i=0;isize;i+)for(j=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);f

8、or(i=0;i=0;k-)S=bk;for(j=k+1;jsize;j+)S=S-Akj*xj;xk=S/Akk;/solutionprintf(Thesolutionx=n);for(i=0;isize;i+)printf(%f,xi);return0;2)列主元消去法程序:#include#includeintmain(void)floatA44=,;floatb4=,;floatx4=0;floatAik,S,temp;inti,j,k;floatmax;/列主元的绝对值intcol;/列主元所在的行intsize=4;printf(An);for(i=0;isize;i+)for(j

9、=0;jsize;j+)printf(%f,Aij);printf(n);printf(bn);for(i=0;isize;i+)printf(%f,bi);printf(nn);/-消去过程-for(k=0;ksize-1;k+)max=fabs(Akk);col=k;查找最大元素所在的行for(i=k;isize;i+)if(maxfabs(Aik)max=fabs(Aik);col=i;printf(col:%dn,col);for(j=k;jsize;j+)temp=Acolj;Acolj=Akj;Akj=temp;temp=bcol;bcol=bk;bk=temp;if(!Akk)return-1;for(i=k+1;isize;i+)Aik=Aik/Akk;for(j=k;jsize;j+)Aij=Aij-Aik*Akj;bi=bi-Aik*bk;消去的结果printf(An);for(i=0;isize;i+)for(j=0;jsize;j+)printf(%f,Aij);p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论