24小时热门版块排行榜    

查看: 1432  |  回复: 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的回帖
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的回帖

wurongjun

专家顾问 (职业作家)

引用回帖:
4楼: Originally posted by glgjw at 2016-02-18 11:04:42
请问您就是把'mass1'改为@mass1了吗?我之前也这么改过,但还是出现同样的错误。请赐教!
...

是的!
善恶到头终有报,人间正道是沧桑.
5楼2016-02-18 11:16:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

glgjw

银虫 (小有名气)

引用回帖:
5楼: Originally posted by wurongjun at 2016-02-18 11:16:38
是的!...

那还是同样的错误呀!我用的是MATLAB7

发自小木虫Android客户端
6楼2016-02-18 11:40:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

引用回帖:
6楼: Originally posted by glgjw at 2016-02-18 11:40:08
那还是同样的错误呀!我用的是MATLAB7
...

我的已经运行啦!结果贴在上面!
你把出错提示发上来看看!
善恶到头终有报,人间正道是沧桑.
7楼2016-02-18 11:48:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

glgjw

银虫 (小有名气)

引用回帖:
7楼: Originally posted by wurongjun at 2016-02-18 11:48:11
我的已经运行啦!结果贴在上面!
你把出错提示发上来看看!...

您看看:
>> [t,y]=ode45(@mass1,[0 10],[0;0],options)

dy =

     0
     0

??? Error: File: d:\MATLAB7\work\lift.m Line: 1 Column: 1
Missing variable or function.

Error in ==> funfun\private\odeevents at 29
  eventValue = feval(eventFcn,t0,y0,eventArgs{:});   

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

好像说lift.m第一行第一列缺变量,也不缺啊。
8楼2016-02-18 11:55:10
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 glgjw 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学调剂 +11 妮妮ninicgb 2026-03-15 15/750 2026-03-21 19:15 by ColorlessPI
[考研] 0703化学调剂 ,六级已过,有科研经历 +14 曦熙兮 2026-03-15 14/700 2026-03-21 19:12 by ColorlessPI
[考研] 311求调剂 +12 冬十三 2026-03-15 13/650 2026-03-21 19:07 by ColorlessPI
[考研] 材料求调剂 +4 @taotao 2026-03-21 4/200 2026-03-21 18:52 by 学员8dgXkO
[考研] 0703化学297求调剂 +3 Daisy☆ 2026-03-20 3/150 2026-03-21 17:45 by ColorlessPI
[考研] 311求调剂 +3 勇敢的小吴 2026-03-20 3/150 2026-03-21 17:40 by ColorlessPI
[考研] 生物学一志愿985,分数349求调剂 +3 zxts12 2026-03-21 3/150 2026-03-21 16:34 by 33来了真来了
[考研] 求调剂 +3 .m.. 2026-03-21 4/200 2026-03-21 16:25 by barlinike
[考研] 268求调剂 +9 简单点0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
[考研] 材料专业求调剂 +6 hanamiko 2026-03-18 6/300 2026-03-21 00:24 by JourneyLucky
[考研] 323求调剂 +3 洼小桶 2026-03-18 3/150 2026-03-20 22:54 by JourneyLucky
[考研] 287求调剂 +7 晨昏线与星海 2026-03-19 8/400 2026-03-20 22:19 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[考研] 一志愿西安交通大学 学硕 354求调剂211或者双一流 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[考研] 材料考研调剂 +3 xwt。 2026-03-19 3/150 2026-03-19 11:22 by w沐阳w
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 0854,计算机类招收调剂 +3 胡辣汤放糖 2026-03-15 6/300 2026-03-18 12:09 by 上岸上岸……..
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
信息提示
请填处理意见