| 查看: 1461 | 回复: 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肯定没有错误,大家检查其他的部分即可。谢谢! |
» 猜你喜欢
272分材料子求调剂
已经有52人回复
一志愿哈工大 085600 277 12材科基求调剂
已经有31人回复
290求调剂
已经有16人回复
材料工程085601,270求调剂
已经有35人回复
085600材料与化工349分求调剂
已经有4人回复
22408 352分求调剂
已经有5人回复
268分085602化学工程调剂
已经有30人回复
0854调剂
已经有6人回复
211本科材料化工求调剂
已经有18人回复
化学070300 求调剂
已经有6人回复
glgjw
银虫 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 252.4
- 帖子: 232
- 在线: 93.2小时
- 虫号: 2115194
- 注册: 2012-11-08
- 性别: GG
- 专业: 信息处理方法与技术
|
您看看: >> [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
2楼2016-02-17 22:39:49
wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24609
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.4小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学
【答案】应助回帖
感谢参与,应助指数 +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
glgjw
银虫 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 252.4
- 帖子: 232
- 在线: 93.2小时
- 虫号: 2115194
- 注册: 2012-11-08
- 性别: GG
- 专业: 信息处理方法与技术
4楼2016-02-18 11:04:42













回复此楼
