偏微分方程的数值解法文档格式.docx

上传人:b****5 文档编号:16152612 上传时间:2022-11-21 格式:DOCX 页数:18 大小:16.61KB
下载 相关 举报
偏微分方程的数值解法文档格式.docx_第1页
第1页 / 共18页
偏微分方程的数值解法文档格式.docx_第2页
第2页 / 共18页
偏微分方程的数值解法文档格式.docx_第3页
第3页 / 共18页
偏微分方程的数值解法文档格式.docx_第4页
第4页 / 共18页
偏微分方程的数值解法文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

偏微分方程的数值解法文档格式.docx

《偏微分方程的数值解法文档格式.docx》由会员分享,可在线阅读,更多相关《偏微分方程的数值解法文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

偏微分方程的数值解法文档格式.docx

end

nx

u0(1,j)=EllIni2Uyl(minx+(j-1)*hx,miny);

u0(ny,j)=EllIni2Uyr(minx+(j-1)*hx,maxy);

end

A=-4*eye((nx-2)*(ny-2),(nx-2)*(ny-2));

b=zeros((nx-2)*(ny-2),1);

fori=1:

(nx-2)*(ny-2)

ifmod(i,nx-2)==1

ifi==1

A(1,2)=1;

A(1,nx-1)=1;

b

(1)=-u0(1,2)-u0(2,1);

else

ifi==(ny-3)*(nx-2)+1

A(i,i+1)=1;

A(i,i-nx+2)=1;

b(i)=-u0(ny-1,1)-u0(ny,2);

A(i,i+nx-2)=1;

b(i)=-u0(floor(i/(nx-2))+2,1);

end

ifmod(i,nx-2)==0

ifi==nx-2

A(i,i-1)=1;

b(i)=-u0(1,nx-1)-u0(2,nx);

ifi==(ny-2)*(nx-2)

b(i)=-u0(ny-1,nx)-u0(ny,nx-1);

b(i)=-u0(floor(i/(nx-2))+1,nx);

ifi>

1&

&

i<

nx-2

b(i)=-u0(1,i+1);

ifi>

(ny-3)*(nx-2)&

i<

(ny-2)*(nx-2)

b(i)=-u0(ny,mod(i,(nx-2))+1);

ul=A\b;

(ny-2)

forj=1:

(nx-2)

u(i,j)=ul((i-1)*(nx-2)+j);

formatshort;

2.peEllip5m用工字型差分格式解拉普拉斯方程

functionu=peEllip5m(nx,minx,maxx,ny,miny,maxy)

A(1,nx)=1;

b

(1)=-u0(1,1)-u0(3,1)-u0(1,3);

A(i,i-nx+1)=1;

b(i)=-u0(ny,1)-u0(ny,3)-u0(ny-2,1);

A(i,i-nx+3)=1;

A(i,i+nx-1)=1;

b(i)=-u0(floor(i/(nx-2))+1,1)-u0(floor(i/(nx-2))+3,1);

b(i)=-u0(1,nx-2)-u0(1,nx)-u0(3,nx);

b(i)=-u0(ny,nx)-u0(ny,nx-2)-u0(ny-2,nx);

A(i,i+nx-3)=1;

b(i)=-u0(floor(i/(nx-2)),nx)-u0(floor(i/(nx-2))+2,nx);

b(i)=-u0(1,i)-u0(1,i+2);

b(i)=-u0(ny,mod(i,(nx-2)))-u0(ny,mod(i,(nx-2))+2);

3.peHypbYF用迎风格式解对流方程

functionu=peYF(a,dt,n,minx,maxx,M)

h=(maxx-minx)/(n-1);

ifa>

(n+M)

u0(j)=IniU(minx+(j-M-1)*h);

else

u0(j)=IniU(minx+(j-1)*h);

u1=u0;

fork=1:

M

ifa>

0

fori=(k+1):

n+M

u1(i)=-dt*a*(u0(i)-u0(i-1))/h+u0(i);

fori=1:

n+M-k

u1(i)=-dt*a*(u0(i+1)-u0(i))/h+u0(i);

u0=u1;

u=u1((M+1):

M+n);

else

u=u1(1:

n);

4.peHypbLax用拉克斯-弗里德里希斯格式解对流方程

functionu=peHypbLax(a,dt,n,minx,maxx,M)

(n+2*M)

fori=k+1:

n+2*M-k

u1(i)=-dt*a*(u0(i+1)-u0(i-1))/h/2+(u0(i+1)+u0(i-1))/2;

u=u1((M+1):

(M+n));

4.peHypbLaxW用拉克斯-温德洛夫格式解对流方程

functionu=peLaxW(a,dt,n,minx,maxx,M)

u1(i)=dt*dt*a*a*(u0(i+1)-2*u0(i)+u0(i-1))/2/h/h-...

dt*a*(u0(i+1)-u0(i-1))/h/2+u0(i);

6.peHypbBW用比姆-沃明格式解对流方程

functionu=peBW(a,dt,n,minx,maxx,M)

u0(j)=IniU(minx+(j-2*M-1)*h);

fori=2*k+1:

n+2*M

u1(i)=u0(i)-dt*a*(u0(i)-u0(i-1))/h-a*dt*(1-a*dt/h)*...

(u0(i)-2*u0(i-1)+u0(i-2))/2/h;

u=u1((2*M+1):

(2*M+n));

7.peHypbRich用Richtmyer多步格式解对流方程

functionu=peRich(a,dt,n,minx,maxx,M)

(n+4*M)

n+4*M-2*k

tmpU1=-dt*a*(u0(i+2)-u0(i))/h/4+(u0(i+2)+u0(i))/2;

tmpU2=-dt*a*(u0(i)-u0(i-2))/h/4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1