数学建模社区-数学中国

标题: 求高手指教啊 [打印本页]

作者: 青枫林霰    时间: 2012-8-6 09:35
标题: 求高手指教啊
matlab中遇到ode45(,)是什么意思啊,可以举出例子吗?
作者: shaox    时间: 2012-8-6 09:47
本帖最后由 shaox 于 2012-8-6 09:53 编辑 5 P( Y8 _5 U% Z# C9 a

6 p; |0 R2 G, ^$ I% Node45表示五分之四阶的龙格库塔芬尔格算法
* f3 G( M2 i9 o4 R4 C) d例2-45  求解描述振荡器的经典的Ver der Pol微分方程
7 v, D$ L5 W: N9 j  G, c, r* y/ Ly(0)=1,y’(0)=0
7 w- d( Q! s9 c5 r; |( b5 z: I* h; Q令x1=y,x2=dy/dt,则( \: g- Q3 A3 Q
dx1/dt = x2
! M+ _0 w4 G, A3 p( D, Zdx2/dt = μ(1-(x1)^2)*x2-x1* m; V2 Q  B2 f7 g1 J5 k, U
编写函数文件verderpol.m:
) I; s1 F% s* D3 G4 x/ l) Pfunction xprime = verderpol(t,x)- E, T, o0 `; V- i! o+ s  |% J
global MU. A, g/ E9 H- o* ~' Q2 ]  l9 ~
xprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)];% F2 Z% [8 h4 h
再在命令窗口中执行:( i' `* k9 B% E" x/ `, ~
>>global MU
! ~2 ~% m6 h8 Q; i5 A>>MU = 7;  J. N# @& ]" e! J
>>Y0=[1;0]
& f! y( I  _8 ^( A) c+ x7 P>>[t,x] = ode45(‘verderpol’,0,40,Y0);
+ X8 v8 n+ r9 P! ]# ?" E/ x8 g>>x1=x(:,1);x2=x(:,2);# v! k; e" m6 R; n2 C7 l
>>plot(t,x1,t,x2)
, ~9 y- J7 `% k- M% M% j图形结果为图2-20。  h+ \' s2 G; s/ b7 m

. K7 L& p9 F" {0 Y, m图2-20  Ver der Pol微分方程图
' P9 V# Y" T% s! n
作者: 青枫林霰    时间: 2012-8-6 09:55
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
作者: shaox    时间: 2012-8-6 10:14
青枫林霰 发表于 2012-8-6 09:55 2 E0 X4 I( x$ O1 x8 s3 w. c: K; o
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
) ]- w$ e6 B9 g0 ]/ D
就是运用组合的4/5阶龙格库塔芬尔格算法




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5