| 查看: 1576 | 回复: 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肯定没有错误,大家检查其他的部分即可。谢谢! |
» 猜你喜欢
售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急
已经有7人回复
有没有同学在用一款线上科研辅助平台?
已经有3人回复
27年博士招生信息
已经有13人回复
大家好,校样时候的紧急求助,请各位帮帮忙了
已经有6人回复
植酸TLC薄层色谱爬板
已经有6人回复
昨日死,今日生
已经有6人回复
第三年,祈求好运!
已经有9人回复
单宁酸
已经有3人回复
求助难溶化合物在DMSO+三氟乙酸中的氢谱分析
已经有7人回复
有机能跨方向申博吗
已经有4人回复
wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24609
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.4小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
glgjw: 金币+20, ★★★★★最佳答案, 感谢热情帮助!! 2016-02-18 20:58:16
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
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
wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24609
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.4小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学

5楼2016-02-18 11:16:38
glgjw
银虫 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 252.4
- 帖子: 232
- 在线: 93.2小时
- 虫号: 2115194
- 注册: 2012-11-08
- 性别: GG
- 专业: 信息处理方法与技术
6楼2016-02-18 11:40:08
wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24609
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.4小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学

7楼2016-02-18 11:48:11
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











回复此楼
