24小时热门版块排行榜    

查看: 1659  |  回复: 12
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 beysem 的 16 个金币

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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 希望今年自己国自然面上项目和老婆青年项目能中! +10 恐龙爸爸 2024-06-14 10/500 2024-06-20 08:42 by jsguo4127
[找工作] 高校两个offer选择 +14 cowox2021 2024-06-18 15/750 2024-06-20 08:34 by 梦渺岚烟
[基金申请] 面青地会评时间??? +6 Axvdvbfs 2024-06-19 6/300 2024-06-20 08:31 by haishuixing2
[论文投稿] 有化学投稿的期刊推荐吗 20+3 荣小撇 2024-06-13 4/200 2024-06-20 08:24 by 1975632963
[考博] 这个博士要读吗 +14 Sea Breeze 2024-06-16 23/1150 2024-06-20 05:41 by 投必得科研顾问
[基金申请] 江南大学到瑞士招聘,称取消非升即走,改预聘+长聘 +21 babu2015 2024-06-18 22/1100 2024-06-19 23:03 by feng6531
[考博] 34岁读博士晚吗 +39 emitdne 2024-06-13 39/1950 2024-06-19 19:03 by Dqtjs
[公派出国] 去英国的小伙伴儿都在哪儿租的房子呀? +7 65syn 2024-06-14 11/550 2024-06-19 10:19 by 65syn
[硕博家园] 关于硕博连读的一些疑问? +8 Lwenter 2024-06-14 10/500 2024-06-19 10:00 by qingdao001
[论文投稿] 审稿人含糊拒稿,还需要回复吗?如何回复? 20+4 BruceChum 2024-06-15 22/1100 2024-06-19 08:00 by kanyechris
[找工作] 杭电、天津科技、青农和宁波工程学院如何选? +12 味道很好啊 2024-06-13 24/1200 2024-06-18 23:09 by 药材
[教师之家] 请问事业编制和年薪制冲突吗? +12 ZHONGWU_U 2024-06-14 12/600 2024-06-18 19:31 by fangyl2005
[基金申请] 面青地会评时间 +8 tanjydd 2024-06-15 8/400 2024-06-17 17:08 by 小龙虾2008
[论文投稿] 二审返修送审10天了,原来一审的3个审稿人只有2个接受了审稿,会邀请新审稿人么? 50+3 huanpo116 2024-06-15 5/250 2024-06-16 10:27 by bobvan
[基金申请] 博士后创新人才支持计划公示 +9 aishida144 2024-06-14 15/750 2024-06-16 09:52 by msjy
[论文投稿] 投稿时忘记修改一作 +7 gll123456 2024-06-13 11/550 2024-06-15 11:49 by gll123456
[基金申请] 博士后基金需要结题吗? +8 zhouchuck 2024-06-13 8/400 2024-06-14 17:27 by liuyupu132
[基金申请] E12面上申请 +4 汉风之遗 2024-06-13 4/200 2024-06-14 15:28 by 天外飞去来
[考博] 申博找导师 +4 疏影横斜水清浅3 2024-06-13 6/300 2024-06-14 14:31 by zxl_1105
[基金申请] 国自然基金公布的时候基金号有吗 +8 潇洒怡惜 2024-06-13 11/550 2024-06-14 11:24 by JRfei
信息提示
请填处理意见