




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:学号:班级:线性方程组的数值解法实习目的1)通过实习进一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的基本思想;2)通过实习进一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的计算步骤,并能灵活应用;3)通过对高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的调试练习,进一步体会各种算法的特点;4)通过对上机调试运行,组不培养解决实际问题的编程能力。实习要求1)熟悉Turbo C的编译环境;2)实习前复习高斯消去法、列主元高斯消去法、直接三角分解法、雅克比迭代法、
2、高斯-赛德尔迭代法以及追赶法的基本思想和过程;3)实习前复习高斯消去法、列主元高斯消去法、直接三角分解法、雅克比迭代法、高斯-赛德尔迭代法以及追赶法的计算步骤。实习设备1)硬件设备:单机或网络环境下的微型计算机一台;2)软件设备:DOS 3.3以上操作系统,Turbo C 2.0编译器。实习内容实习一 高斯消去法1)用高斯消去法求解线性方程组:x1-4x2+6x3-5x4=8-5x1+21x2-33x3+32x4=-326x1-26x2+43x3-48x4=255x1-24x2+45x3-64x4=-102)要求:将线性方程组写成用矩阵表示的形式,即Ax=b的形式。输出系数矩阵的原始元素和经高
3、斯消去法消去后的矩阵元素。经高斯消去法消去后的矩阵是一个什么形式的矩阵?请写出程序的运行结果。#include #define N 4int Gauss(float aNN,float bNint i,j,k,flag=1。float t。for(i=0。iif(aii=0flag=0。break。elsefor(j=i+1。jt=-aji/aii。bj=bj+t*bi。for(k=i。kajk=ajk+t*aik。return(flag。void zg_matric(float aNN,float bNint i,j。for(i=0。ifor(j=0。jprintf(%10f,aij。pri
4、ntf(%10f,bi。printf(n。printf(n。void main(static float aNN=1,-4,6,-5,-5,21,-33,32,6,-26,43,-48,5,-24,45,-64。float bN=8,-32,25,-10。float xN=0,0,0,0。int i,j,flag。zg_matric(a,b。flag=Gauss(a,b。if(flag=0printf(Gauss method does not run.。elsexN-1=bN-1/aN-1N-1。for(i=N-2。i=0。i-xi=bi。for(j=i+1。jxi=xi-aij*xi。xi
5、=xi/aii。for(i=0。iprintf(x%d=%11.7fn,i+1,xi。3)思考题:高斯消去法的基本思想是什么?答:高斯消去法是最古老的求解线性代数方程组的方法之一,是消去法的一种特殊形式。高斯消去法由哪两个过程组成?答:高斯消去法包括消元与回代两个过程。实习二 列主元高斯消去法求解线性方程组1)用列主元高斯消去法求解线性方程组:0.02x1+4x2+1.38x3=92x2+3.32x2+0.575x3=164x1+5x2+4x3=12)要求:输出系数矩阵的原始元素和经列主高斯消去法消去后的矩阵元素。经列主高斯消去法消去后的矩阵是一个什么形式的矩阵?请写出输出后的运行结果。若线性
6、方程组的准确解为:x1=2,x2=5,x3=-8,请通过计算绝对误差证明,在一般情况下用经列主高斯消去法求解线性方程组是稳定的。#include#include#define N 3void ColGauss(float aNN,float bNfloat t,max_fab。int i,j,k,l。for(i=0。il=i。max_fab=fabs(aii。for(j=i+1。jif(fabs(ajimax_fabl=j。max_fab=fabs(ali。if(it=bi。bi=bk。bk=t。for(j=i。jt=aij。aij=alj。alj=t。for (j=i+1。jt=-aji/a
7、ii。bj=bj+t*bi。for(k=i。kajk=ajk+t*aik。void zg_matric(float aNN,float bNint i,j。for(i=0。ifor(j=0。jprintf(%10f,aij。printf(%10f,bi。printf(n。printf(n。void main(static float aNN=0.02,4.0,1.38,2.0,3.32,0.575,4.0,5.0,4.0。float bN=9.0,16.0,1.0。float xN=0,0,0。int i,j。zg_matric(a,b。ColGauss(a,b。xN-1=bN-1/aN-1N
8、-1。for(i=N-2。i=0。i-xi=bi。for(j=i+1。jxi=xi-aij*xj。xi=xi/aii。for(i=0。iprintf(x%d=%11.6fn,i+1,xi。3)思考题:列主高斯消去法的基本思想是什么?答:列主高斯消去法在高斯消去法每次进行消元之前先选取绝对值最大的元素作为主元素=0时,消元过程就无法进行。另外,即使akk(k0,但其绝对值很小时,用它做除数,根据数值运算中“用绝对值很小的数做除数,舍入误差会增大,而且严重影响计算结果的精度”的原则,这种方法在一定程度上也具有局限性。为了克服这一局限性,产生了列主高斯消元法。实习三 柯朗分解法1)用柯朗分解法求解线
9、性方程组:x1+2x2+3x3+4x4=2x1+3x2+4x3+5x4=32x1+x2+4x3+4x4=32x1+3x2+2x3+5x4=22)要求:输出系数矩阵的原始元素和经柯朗分解法后的L、U矩阵元素。经柯朗分解法后的L、U矩阵各是一个什么形式的矩阵?请写出程序的运行结果。#include#define N 4void Lu(float aNN,float LNN,float UNNint i,j,k。for(k=0。kfor(i=k。iLik=aik。for(j=0。jLik-=(Lij*Ujk。for(j=k+1。jUkj=akj。for(i=0。iUkj-=(Lki*Uij。Ukj/
10、=Lkk。void solve(float bN,float LNN,float UNN,float xNint j,k。float yN。for(k=0。kyk=bk。for(j=0。jyk=yk-Lkj*yj。yk=yk/Lkk。for(k=N-1。k=0。k-xk=yk。for(j=k+1。jxk=xk-Ukj*xj。void zg_matric(float aNN,float bNint i,j。for(i=0。ifor(j=0。jprintf(%10f,aij。printf(%10f,bi。printf(n。printf(n。void main(static float aNN=1,
11、2,3,4,1,3,4,5,2,1,4,4,2,3,2,5。float bN=2,3,3,2。float xN=0,0,0,0。float UNN=1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1。float LNN。int i。zg_matric(a,b。Lu(a,L,U。solve(b,L,U,x。for(i=0。iprintf(x%d=%11.7fn,i+1,xi。4)思考题:柯朗分解法的基本思想是什么?答:在柯朗分解法汇中使用主对角线上的元素做分母计算时,如果分母绝对值很小甚至可能为零),仍用它做除数,就会导致舍入误差增大甚至不能保证柯朗分解法顺利进行),严重影响计算结果
12、的精度。为解决这一问题,可以采取什么措施?答:实习四 追赶法1)用追赶法求解线性方程组Ax=b:A=1327 00 3002 00 7327,b=-2-8-65,2)要求:请写出程序的运行结果。#include#define N 4void zhuigan(float aNN,float bN,float rN,float yNfloat q。int i。r0=a10/a00。y0=b0/a00。for(i=1。iq=aii-ri-1*ai-1i。ri=ai+1i/q。yi=(bi-yi-1*ai-1i/q。yN-1=(bN-1-yN-2*aN-2N-1/(aN-1N-1-rN-2*aN-2N
13、-1。void solve(float rN,float yN,float xNint k。xN-1=yN-1。for(k=N-2。k=0。k-xk=yk-rk*xk+1。void main(float aNN=1,3,0,0,2,7,3,0,0,2,7,3,0,0,2,7。float bN=-2,-8,-6,5。float rN,yN。float xN。int i。zhuigan(a,b,r,y。solve(r,y,x。for(i=0。iprintf(x%d=%13.6fn,i+1,xi。3)思考题:追赶法的基本思想是什么?答:追赶法是高斯消去法的一种简化形式,同样分为消元和回代两个过程。追
14、赶法适合怎样形式的问题?答:系数矩阵为三对角矩阵的方程组解法。实习五 雅克比迭代法与高斯-赛德尔迭代法1)用雅克比迭代法与高斯-赛德尔迭代法求解线性方程组Ax=b:A=62-114-2-314,b1=-324,b2=100-2)要求:请写出程序的运行结果。请写出迭代次数。雅克比迭代法:#include#include#define N 3#define MAX_N 100#define eps 1e-6int yacobi(float aNN,float bN,float xNfloat d,s,max。float yN。int i,j,k,flag。k=0。for(i=0。ixi=0.0。w
15、hile(1max=0.0。k+。for(i=0。is=0.0。for(j=0。jif(j=i continue。s=s+aij*xj。yi=(bi-s/aii。d=fabs(yi-xi。if(max max=d。if(maxflag=1。break。if(k=MAX_Nflag=0。break。for(i=0。ixi=yi。return(flag。void zg_matric(float aNN,float bNint i,j。for(i=0。ifor(j=0。jprintf(%10f,aij。printf(%12f,bi。printf(n。printf(n。void main(float
16、aNN=6,2,-1,1,4,-2,-3,1,4。float bN=-3,2,4。float xN。int i,k。zg_matric(a,b。k=yacobi(a,b,x。if(k=1for(i=0。iprintf(x%d=%11.7fn,i+1,xi。elseprintf(The Method is disconvergent!n。高斯-赛德尔迭代法:#include#include#define N 3#define MAX_N 100#define eps 1e-6int seidel(float aNN,float bN,float xNfloat d,s,max,temp。int
17、i,j,k,flag。k=0。for(i=0。ixi=0.0。while(1max=0.0。k+。for(i=0。is=0.0。temp=xi。for(j=0。jif(j=i continue。s=s+aij*xj。xi=(bi-s/aii。d=fabs(xi-temp。if(max max=d。if(maxflag=1。break。if(k=MAX_Nflag=0。break。return(flag。void zg_matric(float aNN,float bNint i,j。for(i=0。ifor(j=0。jprintf(%10f,aij。printf(%12f,bi。printf(n。printf(n。voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合解析人教版7年级数学上册期末测试卷含完整答案详解【夺冠系列】
- 自考专业(公共关系)练习题【网校专用】附答案详解
- 环保公司福利制度执行细则
- 自考专业(护理)题库及完整答案详解(必刷)
- 一厂多租(厂中厂)厂区安全生产管理台账
- 科技赋能创业2025科技创新创业大赛奖金申报实务解析报告
- 中级银行从业资格之中级银行业法律法规与综合能力能力提升打印大全及参考答案详解(培优)
- 城市污水处理厂深度处理工艺2025年技术发展潜力评估报告
- 自考专业(人力资源管理)预测复习附答案详解【基础题】
- 环保公司销售管理办法
- 工程项目投资与融资完整全套课件
- 贸易经营类企业生产安全事故应急预案
- 数据中心负荷计算方法
- 水箱拆除专项施工方案
- YY/T 1851-2022用于增材制造的医用纯钽粉末
- GB/T 20858-2007玻璃容器用重量法测定容量试验方法
- 生活中的会计课件
- 辽宁大学学生手册
- 湘美版美术一年级上册全册课件
- 酒水购销合同范本(3篇)
- 师说一等奖优秀课件师说优质课一等奖
评论
0/150
提交评论