数值分析教案 - 图文(9)

2020-02-20 22:37

2.999999999999999 1.000000000000000 3.000000000000000 迭代结果:

2.000000000000000

X =

1 2 3

可见对此题Gauss_Seidel法的收敛速度还是很快的.

例 3.3 取??1.45,用Gauss-Seidel迭代法和SOR法计算下列方程组的解:

?4x1?2x2?x3?0???2x1?4x2?2x3??2 ??x?2x?3x?323?1解:

Gauss-Seidel迭代法可利用上题中的程序,把输入矩阵A换掉就可以了,以下

编制求解该程序的SOR.m

%SOR法求解例3.3 %w=1.45

%方程组系数矩阵 clc;

A=[4 -2 -1;-2 4 -2 ;-1 -2 3] %方程组右端系数 b=[0,-2,3]' w=1.45;

%最大迭代次数 Maxtime=100; %精度要求 Eps=1E-5;

%以15位小数显示 format long; n=length(A); k=0;

%初始迭代值 x=ones(n,1); y=x;

disp('迭代过程:'); disp('x='); while 1 y=x; disp(x'); %计算过程 for i=1:n

41

s=b(i); for j=1:n if j~=i

s=s-A(i,j)*x(j); end end

if abs(A(i,i))<1E-10 | k>=Maxtime

error('已达最大迭代次数或矩阵系数近似为0,无法进行迭代'); return; end

s=s/A(i,i);

x(i)=(1-w)*x(i)+w*s; end

if norm(y-x,inf)

disp('最后迭代结果:'); %最后的结果 X=x'

%设为默认显示格式 format short;

为了能有可比性, Gauss?Seidel程序中的误差控制改用无穷大范数来度量(即将其改为: norm(y-x,inf)

以下为两种方法运行结果:

(1) Gauss?Seidel法运行结果如下: >>Gauss_Seidel

A =

4 -2 -1 0 -2 4 -2 -2 -1 -2 3 3 x=

1 1 1 0.750000000000000 0.375000000000000 1.500000000000000 0.562500000000000 0.531250000000000 1.541666666666667 0.651041666666667 0.596354166666667

42

1.614583333333333 0.701822916666667 1.672743055555556 0.747287326388889 1.722439236111111 0.785617404513889 1.764558015046297 0.818153663917824 1.800288447627315 0.845750031647859 1.830596170307677 0.869158662395713 1.856304498366368 0.889014832767439 1.878111387967082 0.905857679775222 1.896608915839176 0.920144495895370 1.912299302543305 0.932263178569463 1.925608553227410 0.942542758585044 1.936898023465833 0.951262333819572 1.946474230368326 0.958658646913433 1.954597174731730 0.964932513003372 1.961487400246158 0.970254271995315 1.967331981412263 0.974768413413434 1.972289602746377 0.978597499393018 1.976494867177471 0.981845492329217 1.980061950611968 0.984600577529664 1.983087701890432 0.986937557508016 1.985654272302155 0.988919882925151 1.987831346050819 0.990601375319531

0.658203125000000 0.710015190972222 0.754028320312500 0.791355839482060 0.823019239637587 0.849877416351695 0.872659665566903 0.891984533871152 0.908376705867273 0.922281240556384 0.934075655906227 0.944080178642702 0.952566438640879 0.959764843867551 0.965870836120737 0.971050197412848 0.975443551069698 0.979170179753344 0.982331264070816 0.985012629699224 0.987287077613653 0.989216360685175

43

1.989678032229960 0.992027688400078 1.991244469676705 0.993237547576686 1.992573188276692 0.994263801382521 1.993700263680578 0.995134313334948 1.994656296783491 0.995872718449754 1.995467244561000 0.996499064948561 1.996155124819374 0.997030358582234 1.996738613994614 0.997481024349056 1.997233554230909 0.997863298143645 1.997653383506066 0.998187558970155 1.998009500482125 0.998462610739587 1.998311573987100 0.998695921302203 1.998567805530502 0.998893825204951 1.998785151980135 0.999061695678897 1.998969514445976 0.999204090526252 1.999125898499494 0.999324875867931 1.999258550078451 0.999427331111469

1.999371070767130 迭代结果:

X =

0.999514237989263 1.999466515581885

(2)SOR法(??1.45)运行结果如下: >>SOR

0.990852860315019 0.992241008626696 0.993418494829607 0.994417288507763 0.995264507616623 0.995983154754781 0.996592741700804 0.997109819171835 0.997548426187277 0.997920471238110 0.998236055610856 0.998503747644651 0.998730815367726 0.998923423829516 0.999086802486114 0.999225387183712 0.999342940594960

0.999442654378196

44

A =

4 -2 -1 -2 4 -2 -1 -2 3 b = 0 -2 3 迭代过程:

x=

1 1 1 0.637500000000000 1.319906250000000 0.200426953125000 1.312280505533854 0.655033522367350 1.692284842064199 0.705846820490625 1.777193200964156 0.887273028620657 1.909222168471645 0.915403031995823 1.938503269030869 0.969682405159416 1.976329684037877 0.977544672598031 1.983982498874047 0.992436751874260 1.994143211257757 0.994223554996409 1.995924740976736 0.998182969701529 1.998589611975717 0.998531880520141 1.998972439993064 0.999573680611473 1.999666110080183 0.999628130465040 1.999741500669115 0.999901875643608 1.999922019942949 0.999905729701926 1.999934903350382

45

0.012187500000000 0.371757197265625 0.534011931458842 0.773340086195768 0.858734977660893 0.936422530391512 0.962044475111776 0.983638894760734 0.990266454150192 0.995946001166684 0.997552389716733 0.999014506686967 0.999389409429154 0.999763090152167 0.999848057258249 0.999943492726323


数值分析教案 - 图文(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019最新冀教版八上第9课《新文化运动》教案

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

马上注册会员

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