“线性方程组高斯消去法”实验报告(内含matlab程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一实验报告
一、实验名称:线性方程组高斯消去法。
二、实验目的:进一步熟悉理解Guass 消元法解法思路,提高matlab 编程能力。
三、实验要求:已知线性方程矩阵,利用软件求解线性方程组的解。
四、实验原理:
消元过程:
设0)0(11≠a ,令乘数)0(11)0(11/a a m i i -=,做(消去第i 个方程组的i x )
操作1i m ×第1个方程+第i 个方程(i=2,3,.....n )
则第i 个方程变为1)1(2)1(2
...i n in i b x a x a =++ 这样消去第2,3,。。。,n 个方程的变元i x 后。原线性方程组变
为:
⎪⎪⎪⎩
⎪⎪⎪⎨⎧=++=++=++)1()1(2)1(2)1(2)1(22)1(22)0(1)0(11)0(11... . .
... ...n n nn n n n n n b x a x a b x a x a b x a x a 这样就完成了第1步消元。
回代过程:
在最后的一方程中解出n x ,得:)1()1(/--=n nn n n n a b x
再将n x 的值代入倒数第二个方程,解出1-n x ,依次往上反推,即可求出方程组的解:
其通项为3,...1-n 2,-n k /)()1(1)1()1(=-=-+=--∑k kk n k j j k kj k k k a x a b
x
五、实验内容:
A=[1 1 1;0 4 -1;2 -2 1];%ϵÊý¾ØÕó b=[6 5 1]'%³£ÊýÏî
num=length(b)
for k=1:num-1
for i=k+1:num
if A(k,k)~=0
l=A(i,k)/A(k,k); A(i,:)=A(i,:)-A(k,:).*l; b(i)=b(i)-b(k)*l; end
end
end
A
b
%»Ø´úÇóx
x(num)=b(num)/A(num,num); for i=num-1:-1:1
sum=0;
for j=i+1:num
sum=sum+A(i,j)*x(j); end
x(i)=(b(i)-sum)/A(i,i); end
x
六、实验结果:
A =
1 1 1 0 4 -1
0 0 -2
b =
6
5
-6
x =
1 2 3