计算方法实验线性方程组的数值解法.doc

计算方法实验线性方程组的数值解法.doc

ID:59321236

大小:297.50 KB

页数:12页

时间:2020-09-05

计算方法实验线性方程组的数值解法.doc_第1页
计算方法实验线性方程组的数值解法.doc_第2页
计算方法实验线性方程组的数值解法.doc_第3页
计算方法实验线性方程组的数值解法.doc_第4页
计算方法实验线性方程组的数值解法.doc_第5页
资源描述:

《计算方法实验线性方程组的数值解法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、姓名:学号:班级:线性方程组的数值解法实习目的<1)通过实习进一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的基本思想;<2)通过实习进一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的计算步骤,并能灵活应用;<3)通过对高斯消去法、列主元高斯消去法、柯朗分解法、追赶法以及雅克比迭代法和高斯-赛德尔迭代法的调试练习,进一步体会各种算法的特点;<4)通过对上机调试运行,组不培养解决实际问题的编程能力。实习要求<1)

2、熟悉TurboC的编译环境;<2)实习前复习高斯消去法、列主元高斯消去法、直接三角分解法、雅克比迭代法、高斯-赛德尔迭代法以及追赶法的基本思想和过程;<3)实习前复习高斯消去法、列主元高斯消去法、直接三角分解法、雅克比迭代法、高斯-赛德尔迭代法以及追赶法的计算步骤。实习设备<1)硬件设备:单机或网络环境下的微型计算机一台;<2)软件设备:DOS3.3以上操作系统,TurboC2.0编译器。实习内容实习一高斯消去法<1)用高斯消去法求解线性方程组:<2)要求:①将线性方程组写成用矩阵表示的形式,即Ax=

3、b的形式。②输出系数矩阵的原始元素和经高斯消去法消去后的矩阵元素。③经高斯消去法消去后的矩阵是一个什么形式的矩阵?④请写出程序的运行结果。#include#defineN4intGauss(floata[N][N],floatb[N]>{inti,j,k,flag=1。floatt。for(i=0。i{if(a[i][i]==0>{flag=0。break。}else{for(j=i+1。j{t=-a[j][i]/a[i][i]。b[j]=b[j]+t

4、*b[i]。for(k=i。ka[j][k]=a[j][k]+t*a[i][k]。}}}return(flag>。}voidzg_matric(floata[N][N],floatb[N]>{inti,j。for(i=0。i{for(j=0。jprintf("%10f",a[i][j]>。printf("%10f",b[i]>。printf("">。}printf("">。}voidmain(>{staticfloata[N][N]={{1,-4,6,

5、-5},{-5,21,-33,32},{6,-26,43,-48},{5,-24,45,-64}}。floatb[N]={8,-32,25,-10}。floatx[N]={0,0,0,0}。inti,j,flag。zg_matric(a,b>。flag=Gauss(a,b>。if(flag==0>printf("Gaussmethoddoesnotrun.">。else{x[N-1]=b[N-1]/a[N-1][N-1]。for(i=N-2。i>=0。i-->{x[i]=b[i]。for(j=i+1。

6、jx[i]=x[i]-a[i][j]*x[i]。x[i]=x[i]/a[i][i]。}for(i=0。iprintf("x%d=%11.7f",i+1,x[i]>。}}<3)思考题:①高斯消去法的基本思想是什么?答:高斯消去法是最古老的求解线性代数方程组的方法之一,是消去法的一种特殊形式。②高斯消去法由哪两个过程组成?答:高斯消去法包括消元与回代两个过程。实习二列主元高斯消去法求解线性方程组<1)用列主元高斯消去法求解线性方程组:<2)要求:①输出系数矩阵的原始元素和经

7、列主高斯消去法消去后的矩阵元素。②经列主高斯消去法消去后的矩阵是一个什么形式的矩阵?③请写出输出后的运行结果。④若线性方程组的准确解为:,请通过计算绝对误差证明,在一般情况下用经列主高斯消去法求解线性方程组是稳定的。#include#include#defineN3voidColGauss(floata[N][N],floatb[N]>{floatt,max_fab。inti,j,k,l。for(i=0。i{l=i。max_fab=fabs(a[i]

8、[i]>。for(j=i+1。jif(fabs(a[j][i]>max_fab>>{l=j。max_fab=fabs(a[l][i]>。}if(i<1>{t=b[i]。b[i]=b[k]。b[k]=t。for(j=i。j{t=a[i][j]。a[i][j]=a[l][j]。a[l][j]=t。}}for(j=i+1。j{t=-a[j][i]/a[i][i]。b[j]=b[j]+t*b[i]。for(k=i。k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。