24小时热门版块排行榜    

查看: 2303  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

WF1987

铜虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xiegangmai(金币+1): 谢谢参与! 2011-12-16 21:46:57
[t,y]=ode45('appollo2',[0,20],[1,-30,1,1]);
plot(t,y(:,3));figure;plot(t,y(:,4))
上为调用程序
%……………………………………………………………………
function dx=appollo2(t,x)
mu=1/82.45*(x(2)<0)-1*(x(2)>0);  %这是关键
mustar=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-mustar)^2+x(3)^2);
dx=[x(2);
    2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3;
    x(4);
    -2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];
8楼2011-12-16 16:36:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

lijinfeng042

木虫 (小有名气)

Matlab


nono2009(金币+1):鼓励应助。 2010-08-30 06:22:02
beysem(金币+1):感谢关注 2010-08-30 09:56:39
引用回帖:
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.         ...

想了一下啊 如果要做函数过程中对函数值正负进行判断再改变参数值  在ode调用时应该比较困难啊
改变函数结构,暂时还没有解决
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
5楼2010-08-29 19:22:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

free--fire

新虫 (小有名气)

★ ★
beysem(金币+2):谢谢关注,能否提供个带源码示例,只要简单示意一下思路,谢谢 2010-08-30 09:57:52
robert2020(金币+2):多谢解答,欢迎常来仿真模拟版交流! 2010-08-30 12:33:28
引用回帖:
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.         ...

如果系数对解答有依耐性(就是你说的:当x(2) 小于 0 时,待定系数为 mu=1/82.45;如果 x(2) 的值出现大于0时, 实际需要mu=-1),可以将系数也设置成函数形式。然后用迭代加上检测条件的方式来求解。需要注意的是,在第一次计算的时候,你需要给出一个确定的系数,否则无法进入程序。
我是流,是浮云天上游;我是虎,是大虫卧山谷。
6楼2010-08-30 08:58:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WF1987

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖
你把调用的函数也给出来吧 我在做类似的程序  我试试看能解出来不
7楼2011-12-16 15:40:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WF1987

铜虫 (小有名气)

有问题再给我留言
9楼2011-12-16 16:37:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

captainmeng

木虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼上的功夫了得,向你学习,现在也在做这方面的工作。感谢提供帮助。··
10楼2013-11-22 00:04:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 beysem 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 304求调剂 +3 ahbd 2026-03-14 3/150 2026-03-16 13:05 by Iveryant
[考研] 本人考085602 化学工程 专硕 +9 不知道叫什么! 2026-03-15 10/500 2026-03-16 10:04 by houyaoxu
[考研] 344求调剂 +3 knight344 2026-03-16 3/150 2026-03-16 09:42 by 无际的草原
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 297求调剂 +4 学海漂泊 2026-03-13 4/200 2026-03-14 11:51 by 热情沙漠
[考研] 学硕285求调剂 +13 Wisjxn 2026-03-12 46/2300 2026-03-14 10:33 by JourneyLucky
[考研] 328,0703考生求调剂,一志愿为东北师范大学 +4 观素律 2026-03-09 5/250 2026-03-14 01:24 by JourneyLucky
[考研] 341求调剂 +4 番茄头--- 2026-03-10 4/200 2026-03-13 23:12 by JourneyLucky
[考研] 0703化学调剂 +4 快乐的香蕉 2026-03-11 4/200 2026-03-13 22:41 by JourneyLucky
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考研] 求调剂 +7 18880831720 2026-03-11 7/350 2026-03-13 16:10 by JourneyLucky
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
[考研] 化工学硕306求调剂 +9 42838695 2026-03-12 9/450 2026-03-13 10:16 by houyaoxu
[考研] 收调剂 +7 调剂的考研学生 2026-03-10 7/350 2026-03-10 17:57 by 麦茶汤圆
[考研] 085602化工求调剂 +7 董boxing 2026-03-10 7/350 2026-03-10 17:07 by BruceLiu320
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
信息提示
请填处理意见