数值上机作业

数值上机作业

ID:33028870

大小:97.20 KB

页数:8页

时间:2019-02-19

数值上机作业_第1页
数值上机作业_第2页
数值上机作业_第3页
数值上机作业_第4页
数值上机作业_第5页
资源描述:

《数值上机作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数值实验题一班级:研开发14-1班姓名:马高强学号:20142120904.用有限差分方法(五点差分格式)求解正方形域上的Poisson方程边值问题用MATLAB语言编写求解线性方程组的算法程序,采用下列方法计算,比较计算结果和算法性能,对计算结果给出结论。(1)用SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。(2)用块SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。(3)用(预条件)共轭斜向量法求解线性方程组。解:首先,剖分求解区域。用平行于坐标轴的直线然后用数值微分公式对微分算子进行离散。既有其中

2、表示的近似值。得到在每个点上的有限差分方程为:又称为五点差分格式.其中。在边界上有可得差分格式为:将差分方程组写成矩阵形式为,其中。如果把每一条线上的网格点看作一个组,如对矩阵也相应地分块其中则差分方程等价于。这样就可以用块迭代法进行求解。(1)用SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。SOR迭代法:function[u,k,t]=SOR(n,w)%用SOR迭代法求解Poisson方程%输出结果:u,k,t输入:n,wh=1/(n+1);f(2:n+1,2:n+1)=3*h^2;%定义右端项u=zer

3、os(n+2,n+2);%对边界进行差分fori=1:n+2u(i,1)=(i-1)*h*(1-(i-1)*h);u(i,n+2)=(i-1)*h*(1-(i-1)*h);ende=0.000000001;tic%程序开始的时间%SOR迭代法过程fork=1:10000er=0;fori=2:n+1forj=2:n+1ub=u(i,j);u(i,j)=w*((u(i-1,j)+u(i+1,j)+u(i,j+1)+u(i,j-1)+f(i,j))/4)+(1-w)*u(i,j);er=er+abs(ub-u(i,j)

4、);endendifer/n^2>[goodw,goodk]=Bestw(9)goodw=1.5330goodk=33>>

5、[u,k,t]=SOR(9,goodw)k=33t=2.3291e-004u的结果如下表:将u画成三维图>>surf(u)(2)用块SOR迭代法求解线性方程组,用试算法确定最佳松弛因子。块SOR迭代法:function[u,k,t]=BSOR(n,w)%用块SOR求解Poisson问题,其中用到追赶法%输出结果:u,k,t输入:n,wh=1/(n+1);f(2:n+1,2:n+1)=3*h^2;u=zeros(n+2,n+2);a=-1*ones(1,n);b=4*ones(1,n);c=-1*ones(1,n);

6、fori=1:n+2%对边界条件进行差分u(i,1)=(i-1)*h*(1-(i-1)*h);u(i,n+2)=(i-1)*h*(1-(i-1)*h);endtic;%块SOR迭代法过程e=0.000000001;fork=1:1000er=0;forj=2:n+1ub=u(:,j);d=f(2:n+1,j)+u(2:n+1,j-1)+u(2:n+1,j+1);x=zg(a,b,c,d');%调用追赶法求解fori=1:nu(i+1,j)=w*x(i)+(1-w)*u(i+1,j);ender=er+norm(ub

7、-u(:,j),1);endifer/n^2

8、x(n)=y(n)/u(n);fork=n-1:-1:1x(k)=(y(k)-c(k)*x(k+1))/u(k);end试算法确定最佳松弛因子:function[goodw,goodk]=BBestw(n)%确定块SOR的最佳松弛因子[u,k]=BSOR(n,0.01);goodw=0.01;goodk=k;forw=0.01:0.01:2[u,k]=BSO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。