24小时热门版块排行榜    

查看: 463  |  回复: 4
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 15322002 的 5 个金币

15322002

银虫 (小有名气)

[交流] 【求助】matlab中的ode45

ode45的求解过程究竟是怎样的呢?我的问题如下,比如matlab的帮助中ode45的例子:
function dy = rigid(t,y)
dy = zeros(3,1);    % a column vector
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
vector [0 1 1] at time 0.options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);


如果我想控制Y(1)不能小于0,判断如果小于0就赋值为0,应该怎么实现呢?按照下面的方式改过后没有效果,请大家指教
function dy = rigid(t,y)
dy = zeros(3,1);    % a column vector
dy(1) = y(2) * y(3);
if y(1)<0
    y(1)=0
end
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2

[ Last edited by nono2009 on 2009-12-29 at 16:28 ]
回复此楼

» 猜你喜欢

苟余心之端直兮,虽僻远其何伤
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
nono2009(金币+1,VIP+0):谢谢应助! 12-29 17:20
15322002(金币+1,VIP+0):能不能详细的说说? 12-29 19:28
有效果,如果不是你想要的,那是你限制条件没表达清楚。
2楼2009-12-29 17:18:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
nono2009(金币+2,VIP+0):辛苦了! 12-29 20:03
下面有你需要的图片吗?

[ Last edited by change0618 on 2009-12-29 at 19:59 ]
3楼2009-12-29 19:57:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

15322002

银虫 (小有名气)

引用回帖:
Originally posted by change0618 at 2009-12-29 19:57:
下面有你需要的图片吗?

[ Last edited by change0618 on 2009-12-29 at 19:59 ]

非常感谢你的回答。我只是拿这个举个例子。
我想,我已经在条件中限制了y(1)<0的时候改变y(1)的值,为什么不起作用呢?请赐教
苟余心之端直兮,虽僻远其何伤
4楼2009-12-29 20:26:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

15322002

银虫 (小有名气)

你的结果跟我想象的也不太一样。。,你是怎么实现的呢?

[ Last edited by 15322002 on 2009-12-29 at 20:29 ]
苟余心之端直兮,虽僻远其何伤
5楼2009-12-29 20:28:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 15322002 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见