24小时热门版块排行榜    

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

beysem

金虫 (正式写手)

[交流] 【求助】常微分方程组求解中系数与某变量值关联的问题

以常见的Appollo的 微分方程组为例,其function文件如下

11.        function dx=appollo(t,x)

% 确定几个待定系数 mu/mustar/r1/r2
12.        mu=1/82.45;
13.        mustar=1-mu;
14.        r1=sqrt((x(1)+mu)^2+x(3)^2);
15.        r2=sqrt((x(1)-mustar)^2+x(3)^2);

% 4个微分方程的表达式
16.        dx=[x(2)
17.            2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3
18.            x(4)
19.        -2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];


现在我的问题是

当x(2) 小于 0 时,待定系数为 mu=1/82.45;

现假设: 调用 ode45时,如果 x(2) 的值出现大于0时, 实际需要mu=-1,

我在尝试类似问题时,发现 mu的一旦定义了,哪怕是 if... 语句中,
mu的值第一次就判断好,后来都不会跳转,很头疼。

请问怎么解决?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

captainmeng

木虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼上的功夫了得,向你学习,现在也在做这方面的工作。感谢提供帮助。··
10楼2013-11-22 00:04:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

lijinfeng042

木虫 (小有名气)

Matlab


ctgu_zheng(金币+1):鼓励应助 2010-08-28 16:48:10
beysem(金币+1):感谢关注,但我的问题还是没有解决哦 2010-08-29 07:48:36
引用回帖:
Originally posted by beysem at 2010-08-28 08:59:20:
以常见的Appollo的 微分方程组为例,其function文件如下

11.        function dx=appollo(t,x)

% 确定几个待定系数 mu/mustar/r1/r2
12.        mu=1/82.45;
13.        mustar=1-mu;
14.        r1=sqrt((x(1)+mu)^2+x(3)^2);
15.         ...

这是你转换好的方程式吧 那原来的方程组呢 u r1 r2 三个参数吧 呵呵 这个看得挺累的.....
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
2楼2010-08-28 13:26:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beysem

金虫 (正式写手)

robert2020:建议使用“引用回复该贴”,方便对方收到你的信息! 2010-08-28 20:07:32
zzuwangshilei:多谢给出说明 2010-08-29 08:08:04


谢谢楼上 ,我把方程式贴出来
3楼2010-08-28 14:52:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li2008jie

铁杆木虫 (著名写手)

逍遥孤鹤

好难呀,进来帮顶。但愿高手帮忙。我也学习一下
阿甘与徐三多,执着+执着+执着=成功!
4楼2010-08-29 07:58:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见