24小时热门版块排行榜    

查看: 771  |  回复: 15
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

embrace5758

[交流] 【求助】同时采用pedpe()和ode()时的嵌套问题

大虾们好!
    本人是做生物化工的,对数值求解方面是彻彻底底的新手。因论文需要,最近建了一个数学模型,主体部分含一个偏微分方程和一个常微分方程。偏微分方程的边界条件中含有常微分方程的因变量,常微分方程中也含偏微分方程的因变量。现在学会的只是用pdepe和ode来分别求解这两个方程,却不知道应该如何嵌套在一起。所以运行时总有逻辑错误...
我的程序如下:
function Cha6demo1
m=0;
y0=0;
x=linspace(0,0.00037,60);
t=linspace(0,129600,60);
sol=pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
u=sol(:,:,1);
surf(x,t,u)
title('numerical solution computed with 20 mesh points.')
xlabel('Distance x')
ylabel('Time t')
figure
plot(x,u(end,: )),title('solution at t=129600')
xlabel('Distance x'),ylabel('u(x,129600)')
plot(t,v,'k-'),xlabel('t'),ylabel('cpl')
%--------------------------------------------------------
function[c,f,s]=pdex1pdex(x,t,u,DuDx)
c=(1+5.8*(0.2+u)^(-2))*10000000000;f=DuDx;s=2*x^(-1)*DuDx;
%----------------------------------------------------------
function u0=pdex1ic(x)
u0=0;
%----------------------------------------------------------
function [pl,ql,pr,qr]=pdex1bc(xl,ul,xr,ur,t)
y0=0;
t=linspace(0,129600,60);
[t,v]=ode23(@ODEfun1,t,y0);
pl=0;ql=1;pr=-5*10^(-6)*(v-ur)*1.6*10^10;qr=1;
%----------------------------------------------------
function DvDt=ODEfun1(t,v,ur)
DvDt=0.004*(ur-v)+2.7/(2.8/((-1)*10^(-14)*t^3+3*10^(-9)*t^2-0.0003*t+10.444)+1+((-1)*10^(-14)*t^3+3*10^(-9)*t^2-0.0003*t+10.444)/0.05)*(1-1.815*10^(-3)*v);

运行出错:
??? Input argument "ur" is undefined.

Error in ==> Cha6demo2>ODEfun1 at 30
DvDt=0.004*(ur-v)+2.7/(2.8/((-1)*10^(-14)*t^3+3*10^(-9)*t^2-0.0003*t+10.444)+1+((-1)*10^(-14)*t^3+3*10^(-9)*t^2-0.0003*t+10.444)/0.05)*(1-1.815*10^(-3)*v);

Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

Error in ==> ode23 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

Error in ==> Cha6demo2>pdex1bc at 26
[t,v]=ode23(@ODEfun1,t,y0);

Error in ==> pdepe at 247
[pL,qL,pR,qR] = feval(bc,xmesh(1),y0(:,1),xmesh(nx),y0(:,nx),t(1),varargin{:});

Error in ==> Cha6demo2 at 6


程序挺弱吧,新手一只,见笑了!
若需要看原方程,已粘于附件...
望大虾指点应该怎样改呢?
不胜感激!

[ Last edited by embrace5758 on 2009-3-30 at 10:44 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

embrace5758

嗯,我再检查看看...
13楼2009-04-09 16:26:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

JinZhang2093

新虫 (初入文坛)

★ ★
kuhailangyu(金币+2,VIP+0):多谢参与! 3-31 21:14
ur没定义吧
[t,v]=ode23(@ODEfun1,t,y0,[],ur);

function DvDt=ODEfun1(t,v,flag,ur)
好像这样
2楼2009-03-31 21:09:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

embrace5758

我试过了楼上的建议,还是没用哦~
But thank you all the same
3楼2009-04-01 10:43:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

windhair

铜虫 (小有名气)

★ ★
sunxiao(金币+2,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-2 05:00
ur 做为参数计算ODE的时候要在调用程序中指定的,
也就是
CODE:
[t,v]=ode23(@(t,v) ODEfun1(t,v,ur),t,y0);

这样就好了。
4楼2009-04-02 03:35:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国社科又开始会评了,不知道这次命运如何 +5 雨打竹帘 2026-08-30 9/450 2026-08-30 22:23 by 余韵清
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 面上意见出来了 +9 黄鸟于飞Chao 2026-08-29 18/900 2026-08-30 16:47 by 黄鸟于飞Chao
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见