24小时热门版块排行榜    

CyRhmU.jpeg
查看: 238  |  回复: 2
当前主题已经存档。

monitor2885

至尊木虫 (职业作家)

队长

[交流] 【求助】解偏微分方程的方法

偏微分方程用差分方法和特征线法,分别用matlab的什么函数?谢谢。贴图是我的例子,我根据pdepe编写的,按理说是波动方程,就像正弦曲线一样,往下传播才对,但是根本不传递这种波动性。不知道哪里写错了。(左侧边界是一个随着时间变化的函数,我采用了分段函数输入的。)

function plotproblem
x=0:1000:80000;
t=0:0.007:1;
m=0;
options=odeset('AbsTol',1e-16);
sol = pdepe(m,@pdefun,@pdeic,@pdebc,x,t,options);
Q= sol(:,:,1);
surf(x,t,Q)
function [c,f,s]=pdefun(x,t,Q,dQdx) %目标pde函数
c=1.884*Q^(-0.4);
f=-Q;
s=0;
function Q0 = pdeic(x) %初始条件
Q0=2.5;
function [pl,ql,pr,qr] = pdebc(xl,Ql,xr,Qr,t) %边界条件
if (0<=t&t<0.252)
p1=-162.19;p2=40.61;p3=2.4005;
y=p1*t^2+p2*t+p3;
else
y=2.5;
end
left=y;
pl=left;
ql=1;
pr=2.5;
qr=1;

[ Last edited by monitor2885 on 2009-9-26 at 14:40 ]
回复此楼
Retirement
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuguocheng

荣誉版主 (职业作家)

优秀版主

你举出一个具体的例子吧, 我们给你讨论有哪些种方法. 你需要那种方法下的解. 精确解还是近似解. 等等
稻草人的孤单
2楼2009-09-26 08:29:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eezyzyzzzee

木虫 (著名写手)

★ ★
wuguocheng(金币+2,VIP+0): 谢谢给出意见. 9-26 09:18
差分的过程还是要自己弄,MATLAB自带的偏微分方程貌似是用有限元方法解的
差分法解偏微分方程的书还是有几本的,你自己到图书馆看看吧
其实自己编程求解微分方程并不是多难的事情,而且MATLAB自带的求解此类问题的功能貌似不是特别强大,所以还是自己动手、丰衣足食吧
3楼2009-09-26 09:05:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 monitor2885 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见