Gauss消去法实验报告

Gauss消去法实验报告

ID:44219664

大小:125.50 KB

页数:7页

时间:2019-10-19

Gauss消去法实验报告_第1页
Gauss消去法实验报告_第2页
Gauss消去法实验报告_第3页
Gauss消去法实验报告_第4页
Gauss消去法实验报告_第5页
资源描述:

《Gauss消去法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Gauss消去法实验报告学院:教师教育学院  专业:数学与应用数学(师范)实验名称使用matlab编写gauss消去法程序指导教师孙老师姓名郑碧玉年级2011学号22110631成绩实验一、gauss消去法解线性方程组一、实验目的:  1、学习使用matlab编写数值计算程序。  2、了解gauss消去法的基本原理和解法思路及相应的编程方法。  3、根据gauss消去法的原理编写matlab程序,并运行出相应的结果,提高matlab编程能力。二、实验原理:消元过程:设,令乘数,做(消去第i个方程组的)

2、操作×第1个方程+第i个方程(i=2,3,.....n)则第i个方程变为这样消去第2,3,。。。,n个方程的变元后。原线性方程组变为:这样就完成了第1步消元。回代过程:在最后的一方程中解出,得:再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:其通项为三、实验内容与步骤:  1、实验内容:依照实验原理编写gauss消去法的程序。  2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。程序代码程序代码说明functionx=gauss(A,b)n=le

3、ngth(A);a=[A,b];fork=1:n-1fori=k+1:na(i,k)=a(i,k)/a(k,k);forj=k+1:na(i,j)=a(i,j)-a(i,k)*a(k,j);endb(i)=b(i)-a(i,k)*b(k);endend%调用M文件gauss.m%形成增广矩阵%计算乘子% 对k+1~n项进行消元x=zeros(n,1);x(n)=b(n)/a(n,n);fork=n-1:-1:1s=b(k);forj=k+1:ns=s-a(k,j)*x(j);endx(k)=s/a(k

4、,k);endx%增广矩阵第i行减去第k行的乘子倍目的是将该矩阵中的第k列中a(k,k)以下的元素全部消为零%回代求解%此循环用来求a(j,k)*x(j)由k+1~n项的和%输出最终的解X四、实验数据及结果:1、实验送的初值为:A=[0.729,0.810,0.900;1.000,1.000,1.000;1.331,1.210,1.100]b=[0.6867;0.8338;1.0000]2、实验结果为:  X=0.22450.28140.3279五、实验分析:1.在本次实验中要先新建M文件并存储,以便

5、实验中多次调试,减少每次输入的麻烦2.在本次实验中,很容易把矩阵中各元素的下标写错,因为编程技术还不够熟练,所以在使用数学指令上还不够全面,这在以后的实验中是应该加强训练的。3.通过本次实验也增强了我对matlab这个软件的了解,尤其是循环语句的使用。4.输入矩阵时的分行符号是英文分号而不是中文分号,否则会出现运行错误。 实验二、列主元法解线性方程组一、实验目的:1、学习使用matlab编写数值计算程序。  2、了解列主元消去法的基本原理和解法思路及相应的编程方法。  3、根据列主元法的原理编写mat

6、lab程序,并运行出相应的结果,提高matlab编程能力。二、实验原理:由一般线性方程组在使用Gauss消去法求解时,从求解过程中可以清楚地看到,若,必须施以行交换的手续,才能使消去过程继续下去。有时既使,但其绝对值很小,由于舍入误差的影响,消去过程也会出现不稳定现象。因此,为使这种不稳定现象发生的可能性减至最小,在施行消去过程时每一步都要选主元素,即要寻找行,使并将第行与第行交换,以使的当前值(即的数值)远大于0。这种列主元消去法的主要步骤如下:1.消元过程对,做1º选主元,记若,说明方程组系数矩阵

7、奇异,则停止计算,否则进行2º。2º交换(增广矩阵)的两行元素3º计算2.回代过程对,计算三、实验内容与步骤:  1、实验内容:依照实验原理编写列主元消去法的程序。  2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。程序代码程序代码说明functionx=gauss(A,b)n=length(A);a=[A,b];fork=1:n-1maxa=max(abs(a(k:n,k)));ifmaxa==0return;endfori=k:nifabs(a(i,k))==

8、maxa%调用M文件gauss.m%形成增广矩阵%选出每列中绝对值最大的数y=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y;break;endendfori=k+1:nl(i,k)=a(i,k)/a(k,k);a(i,k+1:n+1)=a(i,k+1:n+1)-l(i,k).*a(k,k+1:n+1);endend%回代ifa(n,n)==0returnendx(n)=a(n,n+1)/a(n,n);fori

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

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

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