24小时热门版块排行榜    

查看: 1675  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

glgjw

银虫 (小有名气)

[求助] matlab求带事件的微分方程总出错 已有1人参与

>> opts=odeset('events',@lift)
>> [t,y,timeend]=ode45('mass1',[0 10],[0;0],opts)
上面的函数lift和mass1编写如下:
函数lift:
>> function[value,isterminal,direction]=lift(t,y)
value=160.5*y(1)+448*t-75
isterminal=1
direction=[]
函数mass1:
function dy=mass1(t,y)
dy=[y(2);(4.48*10^6*8*t/15/(6-y(1))-(7.35*10^6+4.48*10^6/(6-y(1)))*y(1)-17.785*10^3*y(2))/4080]

运行后的出错信息:
dy =

     0
     0

??? Function 'lower' is not defined for values of class 'function_handle'.

Error in ==> lower at 26
  [varargout{1:nargout}] = builtin('lower', varargin{:});

Error in ==> funfun\private\odeevents at 32
  switch lower(eventFcn)

Error in ==> ode45 at 209
[haveEventFcn,eventFcn,eventArgs,valt,teout,yeout,ieout] = ...

函数mass1肯定没有错误,大家检查其他的部分即可。谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
glgjw: 金币+20, ★★★★★最佳答案, 感谢热情帮助!! 2016-02-18 20:58:16
你把下面代码做一个新的m文件,运行下
function cs
opts=odeset('events',@lift);
[t,y,timeend]=ode45(@mass1,[0 10],[0;0],opts)
function[value,isterminal,direction]=lift(t,y)
value=160.5*y(1)+448*t-75;
isterminal=1;
direction=[];
function dy=mass1(t,y)
dy=[y(2);(4.48*10^6*8*t/15/(6-y(1))-(7.35*10^6+4.48*10^6/(6-y(1)))*y(1)-17.785*10^3*y(2))/4080];
善恶到头终有报,人间正道是沧桑.
9楼2016-02-18 15:25:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答
2楼2016-02-17 22:39:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
一点点问题!
简单修改如下!
opts=odeset('events',@lift);
[t,y,timeend]=ode45(@mass1,[0 10],[0;0],opts)
function[value,isterminal,direction]=lift(t,y)
value=160.5*y(1)+448*t-75;
isterminal=1;
direction=[];
function dy=mass1(t,y)
dy=[y(2);(4.48*10^6*8*t/15/(6-y(1))-(7.35*10^6+4.48*10^6/(6-y(1)))*y(1)-17.785*10^3*y(2))/4080];
运行结果如下:
>>
t =

         0
    0.0040
    0.0080
    0.0120
    0.0160
    0.0200
    0.0240
    0.0280
    0.0320
    0.0367
    0.0415
    0.0463
    0.0510
    0.0562
    0.0614
    0.0666
    0.0718
    0.0773
    0.0828
    0.0884
    0.0939
    0.1005
    0.1070
    0.1136
    0.1202
    0.1246
    0.1291
    0.1336
    0.1380
    0.1425
    0.1470
    0.1514
    0.1559
    0.1581
    0.1603
    0.1625
    0.1648


y =

         0         0
    0.0000    0.0008
    0.0000    0.0030
    0.0000    0.0067
    0.0001    0.0117
    0.0001    0.0177
    0.0002    0.0247
    0.0003    0.0322
    0.0005    0.0402
    0.0007    0.0499
    0.0009    0.0593
    0.0012    0.0681
    0.0016    0.0759
    0.0020    0.0828
    0.0024    0.0879
    0.0029    0.0907
    0.0034    0.0913
    0.0039    0.0896
    0.0044    0.0854
    0.0048    0.0792
    0.0052    0.0713
    0.0057    0.0606
    0.0060    0.0492
    0.0063    0.0382
    0.0065    0.0283
    0.0067    0.0228
    0.0067    0.0184
    0.0068    0.0152
    0.0069    0.0135
    0.0069    0.0132
    0.0070    0.0143
    0.0071    0.0168
    0.0072    0.0205
    0.0072    0.0227
    0.0073    0.0252
    0.0073    0.0278
    0.0074    0.0307


timeend =

    0.1648

>>
善恶到头终有报,人间正道是沧桑.
3楼2016-02-18 09:54:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

glgjw

银虫 (小有名气)

引用回帖:
3楼: Originally posted by wurongjun at 2016-02-18 09:54:32
一点点问题!
简单修改如下!
opts=odeset('events',@lift);
=ode45(@mass1,,,opts)
function=lift(t,y)
value=160.5*y(1)+448*t-75;
isterminal=1;
direction=[];
function dy=mass1(t,y)
dy=;
运行结果如 ...

请问您就是把'mass1'改为@mass1了吗?我之前也这么改过,但还是出现同样的错误。请赐教!

发自小木虫Android客户端
4楼2016-02-18 11:04:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 4/200 2026-11-02 00:50 by xzcv0Tehd8lQ
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 hKe7U1kad5Sg 2026-10-31 7/350 2026-11-02 00:34 by xzcv0Tehd8lQ
[基金申请] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 hKe7U1kad5Sg 2026-10-31 8/400 2026-11-02 00:34 by xzcv0Tehd8lQ
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 xvJS1BYDxvBS 2026-10-31 6/300 2026-11-02 00:29 by xzcv0Tehd8lQ
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 xvJS1BYDxvBS 2026-10-31 10/500 2026-11-02 00:24 by xzcv0Tehd8lQ
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +6 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-02 00:11 by xzcv0Tehd8lQ
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 19/950 2026-11-02 00:02 by xzcv0Tehd8lQ
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 1uaZt2kAZj2S 2026-10-30 15/750 2026-11-01 23:58 by xzcv0Tehd8lQ
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +7 X5bHxOULxFqb 2026-10-30 23/1150 2026-11-01 23:49 by xzcv0Tehd8lQ
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 22:27 by xzcv0Tehd8lQ
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 X5bHxOULxFqb 2026-10-30 16/800 2026-11-01 21:19 by xzcv0Tehd8lQ
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 19:50 by xzcv0Tehd8lQ
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 16:58 by BCdvBAEpt3zm
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 1uaZt2kAZj2S 2026-10-30 15/750 2026-11-01 16:52 by BCdvBAEpt3zm
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 X5bHxOULxFqb 2026-10-30 22/1100 2026-11-01 16:35 by BCdvBAEpt3zm
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 14:48 by BCdvBAEpt3zm
[硕博家园] 越来越担心硕士毕业后没有竞争力了 +9 zuesli 2026-10-27 15/750 2026-11-01 12:59 by Equinoxhua
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 11/550 2026-11-01 12:24 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 X5bHxOULxFqb 2026-10-30 18/900 2026-11-01 12:11 by BCdvBAEpt3zm
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 xvJS1BYDxvBS 2026-10-31 4/200 2026-11-01 11:01 by BCdvBAEpt3zm
信息提示
请填处理意见