24小时热门版块排行榜    

查看: 9407  |  回复: 9

chemwayne

金虫 (小有名气)

[求助] 求助,matlab求解二元二阶的常微分方程组

现在需要解一个二元二阶的常微分方程组,想用四阶龙哥库塔来解,刚接触Matlab, 希望能得到大家帮助,万分感谢!  我想得到的是数值解,z-x-y, z= 0-1,
(原来曾用excel 的solver来解,当时是猜测y0的初值)
方程:
求助,matlab求解二元二阶的常微分方程组
求助,matlab求解二元二阶的常微分方程组-1

[ Last edited by chemwayne on 2013-5-23 at 08:43 ]
回复此楼

» 猜你喜欢

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

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

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
chemwayne: 金币+20, ★★★很有帮助, 还是很感谢,但是我想要的还是matlab的程序,谢谢 2013-05-25 08:38:48
三点边值问题,解析解很困难,用数值解吧。
2楼2013-05-23 14:21:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chemwayne

金虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2013-05-23 14:21:36
三点边值问题,解析解很困难,用数值解吧。

我就是想得到数值解
以前没有做过计算,刚接触,您能给出数值解的程序吗,谢谢
也就是 z=【0,1】的范围内,对应的x和y 的值,其他为常数
3楼2013-05-23 14:35:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chemwayne

金虫 (小有名气)

对的,我就是想要数值解,也就是z=【0,1】范围内,对应的x、y的值,谢谢
以前没有做过计算,现在开始干,愁死了。。。若能提供帮助,万分感谢
4楼2013-05-23 14:37:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

把已知的常数及公式以文本形式给出。
5楼2013-05-23 15:15:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chemwayne

金虫 (小有名气)

引用回帖:
5楼: Originally posted by dingd at 2013-05-23 15:15:49
把已知的常数及公式以文本形式给出。

Pey=9.73;
Nox=8.05;
uxuy=3;
bd=1;
cx1e=2.3;
b1=309.7;b2=2832.5;
a1=27.8;a2=2.15;a3=-0.84;a4=0.935;
-Dx-(Nox/b1)*(b1*x+cx1e-(a1*y+a2)/(a3*y+a4)=0
D2y+Pey*bd*Dy+(Nox*Pey*bd*uxuy/b2)*(b1*x+cx1e-(a1*y+a2)/(a3*y+a4))=0
6楼2013-05-23 18:28:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chemwayne

金虫 (小有名气)

边界条件:   x(0)=1;  Dy(0)=0;  Pey*bd*y(1)+Dy(1)=0
7楼2013-05-23 18:33:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

边值问题Matlab可用BVP4C命令,但感觉比较麻烦,下面用1stOpt求解,很简单快捷:
CODE:
Constant Pey=9.73, Nox=8.05, uxuy=3, bd=1, cx1e=2.3,
b1=309.7,b2=2832.5, a1=27.8,a2=2.15,a3=-0.84,a4=0.935;
Variable t=[0:0.025:1],x=1,y'=[0,-Pey*bd*y];
Plot x,y,y';
ODEFunction x'=-(Nox/b1)*(b1*x+cx1e-(a1*y+a2)/(a3*y+a4));
            y''=-Pey*bd*y'-(Nox*Pey*bd*uxuy/b2)*(b1*x+cx1e-(a1*y+a2)/(a3*y+a4));

边值估算:
        y(t=0): 0.327786532200411

算法: 龙格-库塔-费尔博格法(Runge-Kutta-Fehlberg Method)
步长值: 0.025
步长数: 40
种群数: 5

结果:
t             x(t)                         y'(t)                     y(t)                         x'(t)                        y''(t)                  y'(t)                       
0             1                            0                            0.327786532200411            -7.66600291732416            -24.4666416985093          0                           
1             0.000693840858838046        -0.00586485658562458        0.000602760183379987        -0.00510084725252375        0.0407853057400083        -0.00586485658562458       

结果过程:
No.        t             x(t)                         y'(t)                     y(t)                         x'(t)                        y''(t)                  y'(t)                       
0        0             1                            0                            0.327786532200411            -7.66600291732416            -24.4666416985093          0                           
1        0.025        0.826313919267495            -0.490075360338193           0.321182502343127            -6.27870464940025            -15.2705386363518          -0.490075360338193          
2        0.05          0.683848068843495            -0.786264397862707           0.304892497030711            -5.1579190209382             -8.81154521345653          -0.786264397862707          
3        0.075        0.566664089408245            -0.947175982341636           0.282992172618731            -4.24801699438317            -4.34185274765138          -0.947175982341636          
4        0.1           0.470051559334184            -1.01530304646892            0.258303652175927            -3.50591713326772            -1.3105072646148           -1.01530304646892           
5        0.125        0.390249601896457            -1.02128711560973            0.232742495433715            -2.89829612055369            0.68698722317898           -1.02128711560973           
6        0.15          0.324233874445947            -0.987077366676523           0.207572500259331            -2.39920298546376            1.94702073906203           -0.987077366676523          
7        0.175        0.269556313218175            -0.928258904656385           0.183592425130687            -1.98822461738467            2.68638637716003           -0.928258904656385          
8        0.2           0.224224427946598            -0.855766958939663           0.161272572460497            -1.64913802323729            3.06326085759594           -0.855766958939663          
9        0.225        0.186609425886391            -0.777149796437229           0.14085444777691             -1.36893219952477            3.19261444219091           -0.777149796437229          
10        0.25          0.155375287754656            -0.697500084306226           0.122423216362664            -1.13709376937326            3.15755303846612           -0.697500084306226          
11        0.275        0.129423296920018            -0.620141103883988           0.105960033630092            -0.94507770210612            3.01768430066738           -0.620141103883988          
12        0.3           0.10784802305656             -0.547133377656043           0.0913796756856091           -0.785907023627595           2.81532466545902           -0.547133377656043          
13        0.325        0.0899021385914759           -0.479646400522898           0.0785572032799784           -0.653865484735837           2.58009717001762           -0.479646400522898          
14        0.35          0.074968022580219            -0.418231138978627           0.0673466535604279           -0.544257391395793           2.33234938931414           -0.418231138978627          
15        0.375        0.0625347128329202           -0.363018610699521           0.057593889044556            -0.453217546785379           2.08569220018259           -0.363018610699521          
16        0.4           0.0521791123811746           -0.313863587563825           0.0491452021428162           -0.377559285865171           1.84888302113582           -0.313863587563825          
17        0.425        0.0435506113178284           -0.270447635858435           0.0418528608540996           -0.314651994050368           1.62721930221573           -0.270447635858435          
18        0.45          0.0363584698185308           -0.232352118108376           0.035578472976028            -0.262321788886875           1.42356581491271           -0.232352118108376          
19        0.475        0.0303614453595037           -0.199109100417178           0.0301948156838825           -0.218770614815521           1.23910819590991           -0.199109100417178          
20        0.5           0.0253592512680494           -0.170236100523047           0.0255866050433442           -0.182510109417003           1.07390211666811           -0.170236100523047          
21        0.525        0.0211855142304534           -0.145259103337654           0.0216505513938588           -0.152307402404205           0.927270211329725          -0.145259103337654          
22        0.55          0.0177019615432633           -0.123727136798432           0.0182949507170654           -0.127140604839182           0.798085959370831          -0.123727136798432          
23        0.575        0.0147936190504607           -0.10522084841223            0.0154389909459885           -0.106162198564426           0.684973980835008          -0.10522084841223           
24        0.6           0.0123648409053087           -0.0893568825522887          0.013011899547216            -0.0886688856491884          0.586448855258726          -0.0893568825522887         
25        0.625        0.0103360247349054           -0.0757893783829889          0.0109520199975861           -0.0740767321274094          0.501009027163578          -0.0757893783829889         
26        0.65          0.00864089210235943          -0.0642095490478649          0.00920587648845576          -0.0619006582113814          0.427198170126278          -0.0642095490478649         
27        0.675        0.00722423559559995          -0.0543440348572125          0.00772726568799934          -0.0517375017368198          0.363643217620131          -0.0543440348572125         
28        0.7           0.00604005138059095          -0.0459525242309598          0.00647639968487763          -0.0432520224132175          0.309075883307506          -0.0459525242309598         
29        0.725        0.00504999039082492          -0.0388249890925048          0.00541911382433476          -0.0361653286316663          0.262342698160537          -0.0388249890925048         
30        0.75          0.00422207307997283          -0.0327787733794859          0.00452614590083615          -0.0302453015167734          0.222407244050448          -0.0327787733794859         
31        0.775        0.00352962231729211          -0.0276556945654436          0.00377248824180515          -0.0252986667688346          0.188347254882715          -0.0276556945654436         
32        0.8           0.00295037694023563          -0.0233192611702517          0.00313681097020956          -0.0211644268962893          0.159348504512056          -0.0233192611702517         
33        0.825        0.00246575500715863          -0.0196520685790281          0.00260095269653461          -0.0177084172807521          0.134696842800273          -0.0196520685790281         
34        0.85          0.00206024116846864          -0.0165534068636294          0.00214947371190719          -0.0148187912247088          0.113769329539156          -0.0165534068636294         
35        0.875        0.00172087700369442          -0.0139370945264954          0.00176926617464773          -0.0124022733798921          0.0960251142514258        -0.0139370945264954         
36        0.9           0.00143683682371022          -0.0117295387756349          0.00144921561232049          -0.0103810490993766          0.0809964905399249        -0.0117295387756349         
37        0.925        0.00119907445004718          -0.00986801430609513        0.00117990816225777          -0.00869018040220058        0.068280395780233          -0.00986801430609513       
38        0.95          0.00100002897020513          -0.00829914727748304        0.00095337824605355          -0.00727545828585919        0.0575305147328749        -0.00829914727748304       
39        0.975        0.000833379522126888        -0.00697758825381183        0.000762891746903158        -0.00609161680467778        0.0484500671551354        -0.00697758825381183       
40        1             0.000693840858838046        -0.00586485658562458        0.000602760183379987        -0.00510084725252375        0.0407853057400083        -0.00586485658562458
求助,matlab求解二元二阶的常微分方程组-2
c1.jpg

8楼2013-05-24 16:42:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sciencejoy

新虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
chemwayne: 金币+2, 有帮助, 这个我知道,但是不会具体编程 2013-05-25 07:32:31
常微分方程,最好用的matlab程序就是bvpsuite,请google
9楼2013-05-24 17:02:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chemwayne

金虫 (小有名气)

nono2009: 2楼有设置“应助” 2013-05-25 08:04:12
引用回帖:
8楼: Originally posted by dingd at 2013-05-24 16:42:48
边值问题Matlab可用BVP4C命令,但感觉比较麻烦,下面用1stOpt求解,很简单快捷:

Constant Pey=9.73, Nox=8.05, uxuy=3, bd=1, cx1e=2.3,
b1=309.7,b2=2832.5, a1=27.8,a2=2.15,a3=-0.84,a4=0.935;
Variable t ...

谢谢您的热心帮忙,但是,还有以下几个问题
1、我的主程序是用matlab写的,所以我想要的code也是matlab形式的;
2、因为我是想用的matlab数组功能,我有很多数据,想以数组的形式进行求解,所以,觉得数组会省事。(目前我已经有了Excel spreadsheet中的Sovle解算程序,已经可以解算,但每次只能处理一组数据,因此我想用matlab同时求解我目前有的大量数据)
3、具体解算中,变量是Z,在目前的excel spreadsheet中x和y是因变量,即我想求得z=[1,0] step=0.1的过程中对应的x-y,
4、最重要的是,我想避免使用初值估计,因为如果需要估计初值,我不确定是否我所有实验数据可以同时收敛。
     再次感谢您的帮助!还有,您好像未设置“应助”,我无法给您金币。
10楼2013-05-25 07:39:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chemwayne 的主题更新
信息提示
请填处理意见