24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2336  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 生物学求调剂 +5 15064154688 2026-04-03 5/250 2026-04-06 11:56 by lijunpoly
[考研] 085410人工智能 初试316分 求调剂 +7 残星拂曙 2026-03-31 7/350 2026-04-06 10:09 by 蓝云思雨
[考研] 化学357分,考研调剂 +11 .Starry. 2026-04-04 12/600 2026-04-06 06:28 by houyaoxu
[考研] 348求调剂 +3 车厘子zzz 2026-04-05 3/150 2026-04-05 20:30 by 啵啵啵0119
[考研] 求调剂到0856材料工程 +3 程9915 2026-04-05 3/150 2026-04-05 18:15 by 蓝云思雨
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +10 @taotao 2026-03-30 10/500 2026-04-05 17:57 by jj987
[考研] 工科277分求调剂材料 +8 上了上了上哦 2026-04-05 9/450 2026-04-05 13:05 by wwytracy
[考研] 359求调剂22408 +3 123456789qw 2026-03-31 3/150 2026-04-05 10:09 by zhq0425
[考研] 一志愿华中农业大学0710(A)初试329分 求调剂 +4 一名26考研生 2026-04-04 4/200 2026-04-05 10:01 by barlinike
[考研] 求调剂 +3 ffyyu 2026-04-02 3/150 2026-04-04 19:03 by 蓝云思雨
[考研] 363求调剂 +7 zh096 2026-04-04 7/350 2026-04-04 17:13 by dongzh2009
[考研] 325求调剂 +4 春风不借意 2026-04-04 4/200 2026-04-04 14:46 by 湘农储能材料
[考研] 372分材料与化工(085600)一志愿湖南大学求调剂 +3 蓝笺片 2026-04-03 4/200 2026-04-03 17:58 by Jimmyandyou
[考研] 机械专硕297 +3 Afksy 2026-04-03 3/150 2026-04-03 14:24 by 1753564080
[考研] 化学070300-总分378-求调剂 +5 挪椅子的泡泡糖 2026-04-02 5/250 2026-04-02 22:20 by ZXlzxl0425
[考研] 085600,320分求调剂 +6 大馋小子 2026-04-02 6/300 2026-04-02 21:54 by dongzh2009
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 13:03 by yulian1987
[考研] 一志愿西电085401数一英一299求调剂 六级521 +4 爱吃大鸭梨 2026-03-31 4/200 2026-03-31 11:51 by 搏击518
[考研] 一志愿食品科学与工程083200求调剂 +4 XQTJZ 2026-03-30 4/200 2026-03-31 04:10 by fmesaito
[考研] 调剂 +4 GK72 2026-03-30 4/200 2026-03-30 20:32 by dick_runner
信息提示
请填处理意见