数学建模社区-数学中国

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

作者: 青枫林霰    时间: 2012-8-6 09:35
标题: 求高手指教啊
matlab中遇到ode45(,)是什么意思啊,可以举出例子吗?
作者: shaox    时间: 2012-8-6 09:47
本帖最后由 shaox 于 2012-8-6 09:53 编辑 4 @! m  ]4 O" K5 P  ]
1 `5 B2 H: v4 k* `& o
ode45表示五分之四阶的龙格库塔芬尔格算法
* w" K5 g& N( g6 {6 Z" R5 Y" Q例2-45  求解描述振荡器的经典的Ver der Pol微分方程
( K. n" ^# Z6 d) ]y(0)=1,y’(0)=03 M. t) t+ S1 F# c: X
令x1=y,x2=dy/dt,则9 W5 S7 `& T6 U
dx1/dt = x23 n/ h3 r' M* |5 u# z- b; I/ y1 v
dx2/dt = μ(1-(x1)^2)*x2-x1* c' X3 A; L* j" {; F+ Q2 X2 m
编写函数文件verderpol.m:( i5 u7 z& P$ E# o: L" W9 j& B+ z
function xprime = verderpol(t,x)/ @5 r  ~2 x5 \, J# Z3 v$ ]
global MU( @7 ]+ _0 F0 M  x  h7 v
xprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)];+ A! E7 C7 R& l$ Y$ i1 b8 }
再在命令窗口中执行:- {: s. B) P0 t( C
>>global MU
& G6 u( X( n  B, L/ y>>MU = 7;$ S/ j8 D5 b, J
>>Y0=[1;0]
% \" J, G! |7 x2 `2 o* X>>[t,x] = ode45(‘verderpol’,0,40,Y0);
: F$ i/ R7 |( }>>x1=x(:,1);x2=x(:,2);' w7 }# K2 ]% `; O7 Z# V+ V
>>plot(t,x1,t,x2)
3 F" a5 U; [( w5 H' D2 y+ m0 v图形结果为图2-20。  ~  K, H. n1 I, H
! U( v& n" Y5 }$ g  A+ }( i' d9 [5 m
图2-20  Ver der Pol微分方程图, M+ @$ H6 p4 x/ v

作者: 青枫林霰    时间: 2012-8-6 09:55
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
作者: shaox    时间: 2012-8-6 10:14
青枫林霰 发表于 2012-8-6 09:55 . Q: l2 Y3 e4 u! _8 _
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
# S/ A8 ~* `: S& [/ V) i
就是运用组合的4/5阶龙格库塔芬尔格算法




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