收藏 分销(赏)

数值线性代数第二版上机习题第四章实验报告.doc

上传人:丰**** 文档编号:4356267 上传时间:2024-09-12 格式:DOC 页数:6 大小:42.50KB
下载 相关 举报
数值线性代数第二版上机习题第四章实验报告.doc_第1页
第1页 / 共6页
数值线性代数第二版上机习题第四章实验报告.doc_第2页
第2页 / 共6页
数值线性代数第二版上机习题第四章实验报告.doc_第3页
第3页 / 共6页
数值线性代数第二版上机习题第四章实验报告.doc_第4页
第4页 / 共6页
数值线性代数第二版上机习题第四章实验报告.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、第四章上机习题1考虑两点边值问题容易知道它得精确解为为了把微分方程离散化,把0,1区间n等分,令h=1/n,得到差分方程简化为从而离散化后得到得线性方程组得系数矩阵为对分别用Jacobi迭代法,G-S迭代法与SOR迭代法求线性方程组得解,要求有4位有效数字,然后比较与精确解得误差。对考虑同样得问题。解 (1)给出算法:为解,令,其中,利用Jacobi迭代法,G-S迭代法,SOR迭代法解线性方程组,均可以下步骤求解:step1给定初始向量x0=(0,0,、,0),最大迭代次数N,精度要求c,令k=1step2令x=B*x0+gstep3若|x-x0|2=N,算法停止,迭代失败,否则,令x0=x,

2、转step2在Jacobi迭代法中,B=D-1*(L+U),g=D-1*b在G-S迭代法中,B=D-1*(L+U),g=D-1*b在SOR迭代法中,B=(D-w*L)-1*(1-w)*D+w*U,g=w*(D-w*L)-1*b另外,在SOR迭代法中,上面算法step1中要给定松弛因子w,其中0w=0、00001    x0=x;    x=B*x0+g;    k=k+1;    if k>=N        break    endendend2

3、G-S迭代法编成得函数 x,k=GaussSeidel(A,b,c,N)function x,k=GaussSeidel(A,b,c,N)U=diag(diag(A)-triu(A);x0=zeros(length(A),1);B=tril(A)(-1)*U;g=tril(A)(-1)*b;x=B*x0+g;k=1;while norm(x-x0,2)>=0、00001    x0=x;    x=B*x0+g;    k=k+1;    if k>=N       &nb

4、sp;break    endendend 3  SOR迭代法编成得函数 x,k=SOR(A,b,w,c,N)function x,k=SOR(A,b,w,c,N)D=diag(diag(A);L=D-tril(A);U=D-triu(A);x0=zeros(length(A),1);B=(D-w*L)(-1)*(1-w)*D+w*U);g=w*(D-w*L)(-1)*b;x=B*x0+g;k=1;while norm(x-x0,2)>=0、00001    x0=x;    x=B*x0+g;   &nbs

5、p;k=k+1;    if k>=N        break    endendend4 问题1求解 ex4_1clear;clc;%c=1;%c=0、1%c=0、01;c=0、0001;a=1/2;n=100;h=1/n;w=1/2;N=1000000;A=-(2*c+h)*eye(n-1);for i=2:n-1w    A(i-1,i)=c+h;    A(i,i-1)=c;endb=a*h2*ones(n-2,1);a*h2-(c+h);for i=1:n-

6、1    x(i)=i*h;    y(i)=(1-a)/(1-exp(-1/c)*(1-exp(-x(i)/c)+a*x(i);endy1,n1=Jacobi(A,b,c,N);y2,n2=GaussSeidel(A,b,c,N);y3,n3=SOR(A,b,w,c,N);disp('c=',num2str(c),'时');disp('Jacobi迭代与精确解得差为',num2str(norm(y'-y1,inf);disp('迭代次数为',num2str(n1);disp(

7、9;G-S迭代与精确解得差为',num2str(norm(y'-y2,inf);disp('迭代次数为',num2str(n2);disp('SOR迭代与精确解得差为',num2str(norm(y'-y3,inf);disp('迭代次数为',num2str(n3);计算结果为(1)c=1时Jacobi迭代与精确解得差为0、0021999迭代次数为11796G-S迭代与精确解得差为0、0017027迭代次数为6227SOR迭代与精确解得差为0、004511迭代次数为15367(2)c=0、1时Jacobi迭代与精确解得差为

8、0、0094349迭代次数为5353G-S迭代与精确解得差为0、0093007迭代次数为2797SOR迭代与精确解得差为0、010279迭代次数为7300(3)c=0、01时Jacobi迭代与精确解得差为0、066098迭代次数为532G-S迭代与精确解得差为0、066089迭代次数为318SOR迭代与精确解得差为0、06615迭代次数为834(4)c=0、0001时Jacobi迭代与精确解得差为0、0049526迭代次数为116G-S迭代与精确解得差为0、0049507迭代次数为108SOR迭代与精确解得差为0、0049789迭代次数为267结果分析三种迭代法得误差基本相同,且G-S迭代法得

9、收敛速度明显小于Jacobi迭代法,但SOR迭代法收敛速度较慢,原因就是收敛因子非最佳。2 考虑偏微分方程其中边界条件为u=1、沿x方向与y方向均匀剖分为N等份,令h=1/N,并设应用中心差分离散化后得到差分方程得代数方程组为取g(x,y)与f(x,y)分别为exp(xy)与x+y,用G-S迭代法求解上述方程组,并请列表比较N=20,40,80时收敛所需要得迭代次数与所用得CPU时间。迭代终止条件为|xk+1-xk|2<10-7、 1="" ax="b,由于g(x,y)与f(x,y)分别为exp(xy)与x+y,可得A得形式为" ex4_2=&qu

10、ot;" c="10(-7);" n="1000000;" for="" m="1:3" h="1/n(m);" a="zeros(n(m)-1)2);" b="zeros(n(m)-1)2,1);" i="" if="">1            A(i-1,i)=-1;  A(i,i-1)=-1;     &

11、nbsp;  end        if i>n(m)-1            A(i,i-n(m)+1)=-1;  A(i-n(m)+1,i)=-1;        end        ii=ceil(i/(n(m)-1);        if mod(i,n(m)-1)=0          

12、 jj=mod(i,n(m)-1);        else            jj=n(m)-1;        end        A(i,i)=4+exp(ii*jj*h2);        b(i)=h3*(ii+jj);        if ii=1|ii=n(m)-1      

13、     b(i)=b(i)+1;        end        if jj=1|jj=n(m)-1            b(i)=b(i)+1;        end    end    disp('n=',num2str(n(m)    tic    y,k=GaussSeidel(A,b,c,N);    toc    disp('迭代次数为',num2str(k);end结果为n204080CPU time0、080063 seconds1、941715 seconds112、580604 seconds迭代次数242627/w

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服