偏微分各差分格式MATLAB编程_精品文档文档格式.doc
- 文档编号:13204391
- 上传时间:2022-10-08
- 格式:DOC
- 页数:5
- 大小:66.50KB
偏微分各差分格式MATLAB编程_精品文档文档格式.doc
《偏微分各差分格式MATLAB编程_精品文档文档格式.doc》由会员分享,可在线阅读,更多相关《偏微分各差分格式MATLAB编程_精品文档文档格式.doc(5页珍藏版)》请在冰豆网上搜索。
end
else
u0(j)=IniU(minx+(j-1)*h);
end
u1=u0;
fork=1:
M
ifa>
0
fori=(k+1):
n+M
u1(i)=-(dt/h)*a*(u0(i)-u0(i-1))+u0(i);
end
else
fori=1:
n+M-k
u1(i)=-(dt/h)*a*(u0(i+1)-u0(i))+u0(i);
u0=u1;
end
x=0.01:
0.01:
n/100;
u=u1((M+1):
(M+n));
plot(x,u,'
r'
);
axis([01-0.51.5]);
holdon
y=1.*(x<
=0.5)+0.*(x>
0.5);
plot(x,y,'
g'
)
title('
Ó
·
ç
¸
ñ
Ê
½
'
formatshort;
运行结果
>
u=peHypbYF(1,0.005,101,0,1,100)
(2)Lax-Fridrichs格式
functionu=LaxFridrichs(a,dt,n,minx,maxx,M)
forj=1:
(n+2*M)
end
fori=k+1:
n+2*M-k
u1(i)=-(dt/h)*a*(u0(i+1)-u0(i-1))/2+(u0(i+1)+u0(i-1))/2;
axis([01-0.51.5]);
Lax-Fridrichs¸
u=LaxFridrichs(1,0.005,101,0,1,100)
(3)Lax-Wendroff格式
functionu=LaxWendroff(a,dt,n,minx,maxx,M)
u1(i)=(dt/h)^2*a*a*(u0(i+1)-2*u0(i)+u0(i-1))/2-...
(dt/h)*a*(u0(i+1)-u0(i-1))/2+u0(i);
Lax-Wendroff¸
formatshort
u=LaxWendroff(1,0.005,101,0,1,100)
(4)Beam-Warming格式
functionu=BeamWarming(a,dt,n,minx,maxx,M)
fori=k+2:
u1(i)=-a*(dt/h)*(u0(i)-u0(i-1))-a*(dt/h)*(1-a*(dt/h))*(u0(i)-2*u0(i-1)+u0(i-2))/2+u0(i);
Beam-Warming¸
u=BeamWarming(1,0.005,101,0,1,100)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分 各差分 格式 MATLAB 编程 精品 文档