24小时热门版块排行榜    

查看: 1327  |  回复: 8

lockyli

金虫 (初入文坛)

[求助] 求大神帮解决微分方程组的边值问题,小弟在此拜谢了! 已有1人参与

只需求出数值解,也就是画出a、b关于c的曲线。边值为C=0时,a=47,b=23;当c=1时,da/dc=0,db/dc=0。
微分方程组见附件。

求大神帮解决微分方程组的边值问题,小弟在此拜谢了!
20141107_200126.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

你的初值,使指数项在开始时变得很大,这样方程其实就是刚性的。
换刚性求解器+打靶法,应该可以
女靠衣装;男靠金装
2楼2014-11-13 10:56:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lockyli

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by nagami at 2014-11-13 10:56:57
你的初值,使指数项在开始时变得很大,这样方程其实就是刚性的。
换刚性求解器+打靶法,应该可以

果然是大神,一眼看出问题了,我又看了下我的微分方程,方程①和②中指数想应该为3.42*exp(-6.4b),你能帮我再看下,十分感谢了!
3楼2014-11-13 14:18:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
lockyli: 金币+100, ★★★★★最佳答案, 大神太厉害了 2014-11-13 17:10:35
1stOpt求解:
CODE:
Variable c=[0,1],a=[47,], b=[23,], a'=[,0], b'=[,0];
Plot a,b;
ODEFunction a''=0.1883*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1);
            b''=0.1321*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1);

常微分方程(边值问题):
1: a' = da/dc = a'
2: b' = db/dc = b'
3: a'' = da'/dc = 0.1883*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1)
4: b'' = db'/dc = 0.1321*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1)

目标函数: 1.95249237018022E-28
边值估算:
        a'(c=0): -9.5178520861553
        b'(c=0): -6.67715486235435

算法: 龙格-库塔-费尔博格法(Runge-Kutta-Fehlberg Method)
步长值: 0.05
步长数: 20
步长数: 30

结果:
c            a(c)                     b(c)                     a'(c)                        b'(c)                         a'(c)                        b'(c)                         a''(c)                   b''(c)                  
0            47                       23                       -9.5178520861553             -6.67715486235435             -9.5178520861553             -6.67715486235435             10.0760564754098        7.06875762295082       
1            42.3102048218227        19.7099206423928        9.73665592596262E-14        -1.03933528450284E-12        9.73665592596262E-14        -1.03933528450284E-12        9.24264398532508        6.48408534498908       

结果过程:
No.        c            a(c)                     b(c)                     a'(c)                        b'(c)                         a'(c)                        b'(c)                         a''(c)                   b''(c)                  
0        0            47                       23                       -9.5178520861553             -6.67715486235435             -9.5178520861553             -6.67715486235435             10.0760564754098        7.06875762295082       
1        0.05        46.5366674270728        22.6749536224977        -9.01614200845709            -6.32518512648641             -9.01614200845709            -6.32518512648641             9.99311429736965        7.01057035943989       
2        0.1          46.098318594191          22.367434340375          -8.5184643117055             -5.97604426753321             -8.5184643117055             -5.97604426753321             9.91475287021245        6.95559667634129       
3        0.15        45.6847575875417        22.077304712237          -8.02459119629411            -5.62957247493713             -8.02459119629411            -5.62957247493713             9.84092302128723        6.90380207706873       
4        0.2          45.2957998226942        21.8044352447045        -7.53429726910123            -5.28561162638599             -7.53429726910123            -5.28561162638599             9.77157767244943        6.8551535344162         
5        0.25        44.9312719269155        21.5487043098539        -7.04735943742426            -4.9440052134039              -7.04735943742426            -4.9440052134039              9.70667189467978        6.80961952887519       
6        0.3          44.5910116268606        21.3099980664271        -6.56355680003716            -4.60459826492362             -6.56355680003716            -4.60459826492362             9.6461629684352          6.76717009097339       
7        0.35        44.2748676417873        21.0882103849178        -6.082670535102              -4.26723726865206             -6.082670535102              -4.26723726865206             9.59001044899855        6.72777684712007       
8        0.4          43.9826995824584        20.8832427766473        -5.60448378470589            -3.93177009006827             -5.60448378470589            -3.93177009006827             9.53817623595882        6.69141306834923       
9        0.45        43.7143778559067        20.6950043269527        -5.12878153584113            -3.5980458889263              -5.12878153584113            -3.5980458889263              9.49062464582609        6.65805372126196       
10        0.5          43.469783576241          20.5234116326146        -4.65535049769917            -3.2659150331719              -4.65535049769917            -3.2659150331719              9.44732248667165        6.6276755203894         
11        0.55        43.2488084816825        20.3683887436545        -4.18397897520681            -2.93522901022319             -4.18397897520681            -2.93522901022319             9.40823913358746        6.60025698113066       
12        0.6          43.0513548580178        20.2298671096337        -3.71445673879555            -2.60584033560861             -3.71445673879555            -2.60584033560861             9.37334660368504        6.57577847236746       
13        0.65        42.8773354686574        20.1077855305869        -3.24657489046014            -2.27760245900155             -3.24657489046014            -2.27760245900155             9.34261962930629        6.55422226782454       
14        0.7          42.7266734914809        20.0020901127163        -2.78012572622918            -1.95036966773809             -2.78012572622918            -1.95036966773809             9.31603572810146        6.53557259523209       
15        0.75        42.5993024626447        19.9127342289708        -2.31490259523808            -1.62399698795092             -2.31490259523808            -1.62399698795092             9.29357526864396        6.51981568235724       
16        0.8          42.4951662275161        19.8396784846241        -1.85069975565961            -1.2983400834989              -1.85069975565961            -1.2983400834989              9.27522153030104        6.50693979900567       
17        0.85        42.4142188988829        19.7828906879567        -1.38731222780969            -0.973255152914863            -1.38731222780969            -0.973255152914863            9.26096075616283        6.49693529415353       
18        0.9          42.35642482257           19.7423458261355        -0.924535644803113           -0.648598824634624            -0.924535644803113           -0.648598824634624            9.25078219794913        6.4897946274513         
19        0.95        42.3217585505767        19.7180260463674        -0.462166101184199           -0.324228050805317            -0.462166101184199           -0.324228050805317            9.24467815196161        6.48551239444572       
20        1            42.3102048218227        19.7099206423928        9.73665592596262E-14        -1.03933528450284E-12        9.73665592596262E-14        -1.03933528450284E-12        9.24264398532508        6.48408534498908
4楼2014-11-13 14:34:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lockyli

金虫 (初入文坛)

引用回帖:
4楼: Originally posted by dingd at 2014-11-13 14:34:14
1stOpt求解:

Variable c=,a=, b=, a'=, b'=;
Plot a,b;
ODEFunction a''=0.1883*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1);
            b''=0.1321*a*(3.38/(b+1.4)-3.42*exp(-6.4*b)+1);


常微分方程(边值 ...

大神,请问你的这款1stOpt版本是多少,有破解版的不?这个比matlab简单多了,我想学习这个软件,因为的后续还需要解决类似的问题。谢谢了!!!!!
5楼2014-11-13 17:12:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

引用回帖:
3楼: Originally posted by lockyli at 2014-11-13 14:18:15
果然是大神,一眼看出问题了,我又看了下我的微分方程,方程①和②中指数想应该为3.42*exp(-6.4b),你能帮我再看下,十分感谢了!...

计算的结果与3楼这个仁兄的一样,a,b其实画出来是几乎一样的,方程的是形式几乎相同
求大神帮解决微分方程组的边值问题,小弟在此拜谢了!-1
11.jpg

女靠衣装;男靠金装
6楼2014-11-13 17:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

引用回帖:
6楼: Originally posted by nagami at 2014-11-13 17:18:48
计算的结果与3楼这个仁兄的一样,a,b其实画出来是几乎一样的,方程的是形式几乎相同

11.jpg
...

“这位仁兄”,打字太快没留意,表示尊敬我得更正下
女靠衣装;男靠金装
7楼2014-11-13 17:21:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lockyli

金虫 (初入文坛)

引用回帖:
7楼: Originally posted by nagami at 2014-11-13 17:21:35
“这位仁兄”,打字太快没留意,表示尊敬我得更正下...

兄弟,你能告诉下你用的软件名以及程序代码吗?因为我还需要解决一些类似的问题,也就是方程组的参数会改变一些,小弟先在此谢谢了。
8楼2014-11-13 19:47:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

引用回帖:
8楼: Originally posted by lockyli at 2014-11-13 19:47:35
兄弟,你能告诉下你用的软件名以及程序代码吗?因为我还需要解决一些类似的问题,也就是方程组的参数会改变一些,小弟先在此谢谢了。...

用的C++,自适应的ode积分程序+函数求根程序,用打靶法计算。matlab自然也能做,应该有现成可用的程序
女靠衣装;男靠金装
9楼2014-11-13 20:29:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lockyli 的主题更新
信息提示
请填处理意见