消元法实验报告8.docx
- 文档编号:3855802
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:10
- 大小:32.11KB
消元法实验报告8.docx
《消元法实验报告8.docx》由会员分享,可在线阅读,更多相关《消元法实验报告8.docx(10页珍藏版)》请在冰豆网上搜索。
消元法实验报告8
西京学院数学软件实验任务书
课程名称
数学软件实验
班级
***
学号
***
姓名
***
实验课题
线性方程组高斯消去法,高斯列主元消去法,高斯全主元消去法
实验目的
熟悉线性代数方程组高斯消去法,高斯列主元消去法,高斯全主元消去法
实验要求
运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成
实验内容
线性方程组高斯消去法
线性方程组高斯列主元消去法
线性方程组高斯全主元消去法
成绩
教师
实验1
线性方程组高斯消去法
高斯顺序消去法是一种古老的求解线性方程组的方法,对于线性方程组,作如下运算不会改变方程组的解:
1)交换任意两个方程的顺序。
2)方程中组任一方程乘上一个非零数。
3)方程组中任一方程加上另一个方程的倍数。
这是高斯消元的理论依据。
实验内容及数据来源
用列主元消去法计算方程组
实验步骤
步骤一:
编写列主元消去法的程序。
打开Editor编辑器,输入以下语句:
functionmaintest2
clc
clearall
%num=input('pleaseinputtheordern=')
%A=zeros(num,num);
%fori=1:
num
%forj=1:
num
%A(i,j)=input('');
%end
%end
%A
%ifdet(A)~=0
%fori=1:
num
%b(i)=input('');
%end
%b=b'
A=[123;135;136];%系数矩阵
b=[234]'%常数项
num=length(b)
fork=1:
num-1
fori=k+1:
num
ifA(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);
fori=num-1:
-1:
1
sum=0;
forj=i+1:
num
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
x
end
运算结果
A=
123
012
001
b=
2
1
1
x=
1-11
实验结论
高斯消元能很好的求解线性方程组,和用克莱姆法则求解方程组该算法简单而且计算次数少。
但是高斯顺序消元是有缺陷的,它并没有考虑主对角元素相对其他同列元素绝对值很小,有时会导致用绝对值较小的数字做分母而出现较大的数字与较小数字进行相加减运算而被“吞掉”的现象,以至于产出某一未知元较小的误差却引起其他元更大的误差。
实验2
列主元消去法计算线性方程组
高斯顺序消元法最后指出了在逐次消元过程中,如果主对角元素相对其他同列元素绝对值很小,有时会导致用绝对值较小的数字做分母而出现较大的数字与较小数字进行相加减运算而被“吞掉”的现象,以至于产出某一未知元较小的误差却引起其他元更大的误差。
为了使消元过程中见效舍入误差和不至于中断,我们可以不按照自然顺序进行消元。
事实上,在第
步消元的时候,我们不一定选取
作为主元,而从同列
中选择绝对值最大的作为主元素,即使
如此我们就得到了列主元消去法。
实验内容及数据来源
用列主元消去法计算方程组
实验步骤
步骤一:
编写列主元消去法的程序。
打开Editor编辑器,输入以下语句:
functionmaintest
clc
clearall
n=input('pleaseinputtheordern=')
A=zeros(n,n);
fori=1:
n
forj=1:
n
A(i,j)=input('');
end
end
A
ifdet(A)~=0
fori=1:
n
b(i)=input('');
end
b=b'
zengguang=[A,b]
fork=1:
n-1
%%取出各列绝对值最大的放在上面作为主元
[Y,j]=max(abs(zengguang(k:
n,k)));
C=zengguang(k,:
);
zengguang(k,:
)=zengguang(j+k-1,:
);
zengguang(j+k-1,:
)=C;
%高斯消元
fori=k+1:
n
m=zengguang(i,k)/zengguang(k,k);
zengguang(i,k:
n+1)=zengguang(i,k:
n+1)-m*zengguang(k,k:
n+1);
end
end
end
%回代求x
b=zengguang(1:
n,n+1);
A=zengguang(1:
n,1:
n);
x(n)=b(n)/A(n,n);
fori=n-1:
-1:
1
sum=0;
forj=i+1:
n
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
x
end
把文件以maintest.m为文件名保存。
步骤二:
解方程。
在命令窗口输入:
pleaseinputtheordern=3
并且输入系数矩阵
A=
123
135
136
输入常数项为
b=
2
3
4
得到增广矩阵为:
zengguang=
1232
1353
1364
运行结果得到
x=
1-11
实验结论
把向量计算得到的解向量代入原方程,可以发现符合的还是比较好的。
这说明了列主元消去法计算这一类方程的有效性。
事实上,对于普通Gauss消去法的修正,还可以有行主元消去法,全主元消去法。
但是全主元消去法相对于行、列主元消去法的工作量要大的多。
所以列主元消去法是解线性方程组实用的方法之一。
实验3
高斯全主元消去法解线性方程组
全主元消去法是对于一般的矩阵,每一步都要处理的矩阵中选取绝对值最大的元素最为主元,从而使高斯消去具有更好的数值稳定性的方法。
实验内容及数据来源
用高斯全主元消去法计算方程组
实验步骤
步骤一:
编写求上三角矩阵线性方程组的函数。
打开Editor编辑器,输入以下语句:
functionx=SolveUpTriangle(A,b)
%求上三角系数矩阵的线性方程组Ax=b的解
%线性方程组的系数矩阵:
A
%线性方程组中的常数向量:
b
%线性方程组的解:
x
N=size(A);
n=N
(1);
fori=n:
-1:
1
if(i s=A(i,(i+1): n)*x((i+1): n,1); else s=0; end x(i,1)=(b(i)-s)/A(i,i); end 把文件以SolveUpTriangle.m为文件名保存。 步骤二: 编写高斯全主元消去的算法。 打开Editor编辑器,输入以下语句: clc clearall %利用高斯全主元消去法求AX=b方程组的解 A=[3200;1420;0121;00-11] b=[572-2]' N=size(A); n=N (1); index_l=0; index_r=0; order=1: n;%记录未知数顺序的向量 fori=1: (n-1) me=max(max(abs(A(i: n,i: n))))%选取全主元 fork=i: n forr=i: n if(abs(A(k,r))==me) index_l=k; index_r=r;%保存主元所在的行和列 k=n; break; end end end temp=A(i,1: n); A(i,1: n)=A(index_l,1: n); A(index_l,1: n)=temp; bb=b(index_l); b(index_l)=b(i); b(i)=bb;%交换主行 temp=A(1: n,i); A(1: n,i)=A(1: n,index_r); A(1: n,index_r)=temp;%交换主列 pos=order(i); order(i)=order(index_r); order(index_r)=pos;%主列的交换会造成未知数顺序的变化 forj=(i+1): n if(A(i,i)==0) disp('对角元素为0! '); return; end l=A(j,i); m=A(i,i); A(j,1: n)=A(j,1: n)-l*A(i,1: n)/m b(j)=b(j)-l*b(i)/m end end x=SolveUpTriangle(A,b);%调用上三角系数矩阵求线性方程组的函数 y=zeros(n,1); fori=1: n forj=1: n if(order(j)==i) y(i)=x(j); end end end%恢复未知数原来的顺序 x=y; XA=A; x 把文件以GaussQuanzhuyuan.m为文件名保存。 运行上面这段程序得到计算结果: A= 4.00001.00002.00000 02.5000-1.00000 001.40001.0000 0001.7143 b= 7.0000 1.5000 0.4000 -1.7143 x= 1.0000 1.0000 1.0000 -1.0000 实验结论 虽然全主元消去法的求解结果更加可靠,高斯消去具有更好的数值稳定性。 但是由于全选主元每步消耗的时间更多,而且要进行列交换,那么所求未知量x1,x2,……xn的顺序就会被打乱,因此,时间应用中一般使用列主元消去法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 消元法 实验 报告