(完整版)哈工大-数值分析上机实验报告(3)

2019-01-26 21:29

for k=1:n-1;

%%%是否进行主元选取

if abs(A(k,k))

yzhuyuan=1;

else yzhuyuan=0;

end

if yzhuyuan; %%%%选主元 t=A(k,k); for r=k+1:n;

if abs(A(r,k))>abs(t) p=r; else p=k; end end %%%交换元素 if p~=k;

for q=k:n+1; s=A(k,q);

A(k,q)=A(p,q); A(p,q)=s; end end end

%%%判断系数矩阵是否奇异或病态非常严重 if abs(A(k,k))< yipusilong

disp(‘矩阵奇异,解可能不正确’) end

%%%%计算消元,得三角阵 for r=k+1:n; m=A(r,k)/A(k,k); for q=k:n+1;

A(r,q)=A(r,q)-A(k,q)*m; end end end

%%%%求解x x(n)=A(n,n+1)/A(n,n); for k=n-1:-1:1;

s=0;

for r=k+1:n; s=s+A(k,r)*x(r); end

t=(A(k,n+1)-s) x(k)=(A(k,n+1)-s)/A(k,k) end

结果分析和讨论:

例:求解方程。其中为一小数,当时,分别采用列主元和不列主元的Gauss消去法求解,并比较结果。

记Emax为求出的解代入方程后的最大误差,按要求,计算结果如下:

当时,不选主元和选主元的计算结果如下,其中前一列为不选主元结果,后一列为选主元结果,下同。

0. 91 0. 51 2. 72 2. 63 2. 51 2. 21 Emax= 9. 624e-010,0

此时,由于不是很小,机器误差就不是很大,由Emax可以看出不选主元的计算结果精度还可以,因此此时可以考虑不选主元以减少计算量。

当时,不选主元和选主元的计算结果如下

1. 77 0. 48 1. 07 2. 74 3. 31 2. 09 Emax= 2. 668e-005,0

此时由Emax可以看出不选主元的计算精度就不好了,误差开始增大。

当时,不选主元和选主元的计算结果如下

1. 20 1. 00 1. 66 2. 00 3. 11 000 Emax= 0. 03,0

此时由Emax可以看出,不选主元的结果应该可以说是不正确了,这是由机器误差引起的。

当时,不选主元和选主元的计算结果如下

NaN 1 NaN 2 NaN 3 Emax=NaN, 0

不选主元时,程序报错:Warning: Divide by zero.。这是因为机

器计算的最小精度为10-15,所以此时的就认为是0,故出现了错误现象。而选主元时则没有这种现象,而且由Emax可以看出选主元时的结果应该是精确解。 结论:

采用Gauss消去法时,如果在消元时对角线上的元素始终较大(假如大于10-5),那么本方法不需要进行列主元计算,计算结果一般就可以达到要求,否则必须进行列主元这一步,以减少机器误差带来的影响,使方法得出的结果正确。


(完整版)哈工大-数值分析上机实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014~2015学年度第二学期学情检测--九年级数学的试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: