- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Gauss消去法实验报告
学院:教师教育学院 专业:数学和使用数学(师范)
实验名称
使用matlab编写gauss消去法程序
指导教师
孙老师
姓名
郑碧玉
年级
2011
学号
成绩
实验一、gauss消去法解线性方程组
一、实验目的:
1、学习使用matlab编写数值计算程序。
2、了解gauss消去法的基本原理和解法思路及相应的编程方法。
3、根据gauss消去法的原理编写matlab程序,并运行出相应的结果,提高matlab编程能力。
二、实验原理:
消元过程:
设,令乘数,做(消去第i个方程组的)操作×第1个方程+第i个方程(i=2,3,.....n)
则第i个方程变为
这样消去第2,3,。。。,n个方程的变元后。原线性方程组变为:
这样就完成了第1步消元。
回代过程:
在最后的一方程中解出,得:
再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:
其通项为
三、实验内容和步骤:
1、实验内容:依照实验原理编写gauss消去法的程序。
2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。
程序代码
程序代码说明
function x=gauss(A,b)
n=length(A);
a=[A,b];
for k=1:n-1
for i=k+1:n
a(i,k)=a(i,k)/a(k,k);
for j=k+1:n
a(i,j)=a(i,j)-a(i,k)*a(k,j);
end
b(i)=b(i)-a(i,k)*b(k);
end
end
x=zeros(n,1);
x(n)=b(n)/a(n,n);
for k=n-1:-1:1
s=b(k);
for j=k+1:n
s=s-a(k,j)*x(j);
end
x(k)=s/a(k,k);
end
x
%调用M文件gauss. m
%形成增广矩阵
%计算乘子
% 对k+1~n项进行消元
%增广矩阵第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.2245
0.2814
0.3279
五、实验分析:
1.在本次实验中要先新建M文件并存储,以便实验中多次调试,减少每次输入的麻烦
2.在本次实验中,很容易把矩阵中各元素的下标写错,因为编程技术还不够熟练,所以在使用数学指令上还不够全面,这在以后的实验中是应该加强训练的。
3.通过本次实验也增强了我对matlab这个软件的了解,尤其是循环语句的使用。
4.输入矩阵时的分行符号是英文分号而不是中文分号,否则会出现运行错误。
实验二、列主元法解线性方程组
一、实验目的:
1、学习使用matlab编写数值计算程序。
2、了解列主元消去法的基本原理和解法思路及相应的编程方法。
3、根据列主元法的原理编写matlab程序,并运行出相应的结果,提高matlab编程能力。
二、实验原理:
由一般线性方程组在使用Gauss消去法求解时,从求解过程中可以清楚地看到,若,必须施以行交换的手续,才能使消去过程继续下去。有时既使,但其绝对值很小,由于舍入误差的影响,消去过程也会出现不稳定现象。因此,为使这种不稳定现象发生的可能性减至最小,在施行消去过程时每一步都要选主元素,即要寻找行,使
并将第行和第行交换,以使的当前值(即的数值)远大于0。
这种列主元消去法的主要步骤如下:
1.消元过程
对,做
1o 选主元,记
若,说明方程组系数矩阵奇异,则停止计算,否则进行2o。
2o 交换(增广矩阵)的两行元素
3o 计算
2.回代过程
对,计算
三、实验内容和步骤:
1、实验内容:依照实验原理编写列主元消去法的程序。
2、实验步骤:首先,在电脑上安装matlab,然后,启动matlab,新建一个M文件。
程序代码
程序代码说明
function x=gauss(A,b)
n=length(A);
a=[A,b];
for k=1:n-1
maxa=max(abs(a(k:n,k)));
if maxa==0
return;
end
for i=k:n
if abs(a(i,k))==maxa
y=a(i,k:n+1);a(i,k:n+1)=a(k,k:n+1);a(k,k:n+1)=y;
break;
end
en
原创力文档


文档评论(0)