| 查看: 584 | 回复: 1 | |||
| 当前主题已经存档。 | |||
[交流]
用matlab解含第二类边界条件的偏微分方程
|
|||
|
一个简单的抛物线型偏微分方程,求u(x,t) u_t 表示对t的一阶导数,u_x为对x的一阶导数,u_xx表示对x的二阶导数 方程 u_t =u_xx (1) 边界条件 x=0,t>0,u_x=0; (2) x=1,t>0, u(1,t)=0; (3) 初始条件 t=0, u(x,0)=1; (4) 我用有限差分法,主要是第二类边界条件(2)式怎么在matlab里面利用 我大致解了一下,但觉得结果有问题,而且我认为问题是出在(2)式上。真心求教这个问题怎么解,谢谢虫友! 附:我写的程序-------------------------------------------------------------------------------------- function [u,x,t]=model2(xf,T) % solve u_xx=u_t for 0<=x<=xf,0<=t<=T % Initial condition:u(x,0)=1 % boundary conditon:u(1,t)=0;u_x(0,t)=0 dx=xf/50;x=[0:50]'*dx; dt=T/10000;t=[0:10000]*dt; for i=1:51,u(i,1)=1;end % Initial condition:u(x,0)=1 for n=1:10001,u(51,n)=0;end % boundary conditon:u(1,t)=0 r=dt/dx/dx;r1=1-2*r; for k=1:10000 u(1,k+1)=2*r*u(2,k)+r1*u(1,k);end % boundary conditon:u_x(0,t)=0 ? for k=1:10000 for i=2:50 u(i,k+1)=r1*u(i,k)+r*(u(i-1,k)+u(i+1,k));% solve u_xx=u_t for 0<=x<=xf,0<=t<=T end end -------------------------------------------------------------------------------------- 命令窗口输入: xf=1; T=1; [u,x,t]=model2(xf,T); figure(1),clf,mesh(t,x,u); ============================================== |
» 猜你喜欢
过年走亲戚时感受到了所开私家车的鄙视链
已经有9人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有6人回复
今年春晚有几个节目很不错,点赞!
已经有10人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有10人回复
基金正文30页指的是报告正文还是整个申请书
已经有5人回复
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
2楼2009-12-18 11:29:46













回复此楼