数值求解二维扩散方程的初边值问题

数值求解二维扩散方程的初边值问题

ID:22288934

大小:69.50 KB

页数:6页

时间:2018-10-28

数值求解二维扩散方程的初边值问题_第1页
数值求解二维扩散方程的初边值问题_第2页
数值求解二维扩散方程的初边值问题_第3页
数值求解二维扩散方程的初边值问题_第4页
数值求解二维扩散方程的初边值问题_第5页
资源描述:

《数值求解二维扩散方程的初边值问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数值求解二维扩散方程的初边值问题古典显式格式:将原格式化为:附源程序:%运用古典显式差分格式求解二维扩散方程的初边值W题;functiongdxs(ti,h,t)%ti:时间少长;%k空闽歩长;k=t/ti;m=1/h+1;r=ti/hA2;%r为网格比;w=ones(m,m);u=ones(m,m);fori=2:m-1forj=2:m-1u(i,j)=sin(pi*(i-1)*h)*sin(2*pi*h*(j-1));endendticfor1=1:kfori=2:m-1forj=2:m-1w

2、(i,j)=r*u(i-1,j)+r*u(i,j-1)+r*u(i+1,j)+r*u(i,j+1)+(1-4*r)*u(i,j);endendu=w;endtoet=tocumesh(u)交替方叫隐式格式(P-R格式):将原差分格式化为:代入边界条件,转化为三对角矩阵附追赶法源程序:%追赴法求解三对角方程组;functionx=zg(a,b,c,d)%a:方程组系数矩阵A的下对角元素;%b:方程组系数矩阵A的主对角兀素;%c:方程组系数矩阵A的上对角元素;%d:追赶法所求方程的右端叫撒;%I:系数

3、矩阵A所分解成的下三角阵L屮的下对角元素了l(i);%u:系数矩阵A所分解成的下三角阵U屮的主对角元素7u(i);n=length(b);u(1)=b(1);y(1)=d(1);fori=1:n-1%追赴法求解之追过程求解Ly=d;l(i)=a(i)/u(i);u(i+1)=b(i+1)-l(i)*c(i);y(i+1)=d(i+1)-l(i)*y(i);endx(n)=y(n)/u(n);%迫赴法求解之赶过程求解Uz=y;forj=n-1:-1:1ifu⑴==0break;elsex(j)=(y

4、(j)-c(j)*xG+1))/u(j);endend%运用P-R差分格式求解二维扩散方程的初边值问题;functionpr(ti,h,t)%ti:时闯步长h:空fuj步长;k=t/ti+1;m=1/h+1;r=ti/hA2;%r为网格比;w=ones(m,m);u=ones(m,m);%输入初始值v=ones(m,m);fori=2:m-1forj=2:m-1u(i,j)=sin(pi*(i-1)*h)*sin(2*pi*h*(j-1));endend%输入用P-R差分格式求解的三对角矩阵b=o

5、nes(1,m-2)*(2+2*r);a=-r*ones(1,m-3);c=-r*ones(1,m-3);A=zeros(m-2,m-2);fori=1:m-2A(i,i)=2-2*r;endfori=1:m-3A(i,i+1)=r;A(i+1,i)=r;endp=zeros(m-2,1);p(1)=2*r;p(m-2)=2*r;ticfor1=1:kfori=2:m-1d1=A*u(i,2:m-1)'+p;d1=d1*;w(2:m-1,i)=zg(a,b,c,d1);%调用追赶法求解d2=A*w

6、(2:m-1,i)+p;v(i,2:m-1)=zg(a,b,c,d2);%调用追赶法求解endu=v’;endtoet=tocumesh(0:0.1:1,0:0.1:1,u)只部一维格成:将原格式化为:代入边界条件,转化为三对角矩阵附源程序:%运用M部一维格式求解二维扩散方程的初边值问题;functiongod(ti,hi,t)%ti为时间少长,hi为空闽少长;m=1/hi;n=t/ti;g=ti/(hiA2);%g为网格比u=ones(m+1,m+1);%输入初始值fori=2:mforj=2:

7、mu(ij)=sin(pi*(i-1)*hi)*sin(2*pi*(j-1)*hi);endenda(1:m-2)=-0.5*g;b(1:m-1)=1+g;c(1:m-2)=-0.5*g;%输入用M部一维差分格式求解的三对角矩阵B=zeros(m-1,m+1);fori=1:m-1B(ij)=0.5*g;巳(i,i+1)=1-g;B(i,i+2)=0.5*g;endf=zeros(m-1,1);f(1,1)=0.5*g;f(m-1,1)=0.5*g;w=ones(m+1,m+1);fori=1:n

8、forj=2:md=B*u(:j)+f;%调用追赶法求解x=zg(a,b,c,d);w(2:m,j)=x.;endforj=2:me=B*w(j,:)’+f;x=zg(a,b,c,e);%调用追赶法求解u(j,2:m)=x;endendumesh(u)古典显式在t=1时运行结果:gdxs(0.0025,0.1,1)所用吋间t=01.000000000000001.000000000000001.000000000000001.000000000000001.000000000000

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

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

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