数学建模社区-数学中国

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

作者: 青枫林霰    时间: 2012-8-6 09:35
标题: 求高手指教啊
matlab中遇到ode45(,)是什么意思啊,可以举出例子吗?
作者: shaox    时间: 2012-8-6 09:47
本帖最后由 shaox 于 2012-8-6 09:53 编辑
: R) K3 V% K; j4 n8 t
" z' K9 E. Q' iode45表示五分之四阶的龙格库塔芬尔格算法
  X9 H, j* l$ R例2-45  求解描述振荡器的经典的Ver der Pol微分方程 % ]0 g2 u% h/ B# A/ o, k( c
y(0)=1,y’(0)=0
" B5 t0 z% l" R: b/ p1 M令x1=y,x2=dy/dt,则& I9 |% P" d$ {- [* x  @) d
dx1/dt = x2; }/ S, n; f/ P* W
dx2/dt = μ(1-(x1)^2)*x2-x1% U' T+ q- q; C% p( [1 {0 g
编写函数文件verderpol.m:
8 X2 y( E# t& {( ]function xprime = verderpol(t,x)
6 n3 }. W8 U* X1 p) O. fglobal MU
. o2 [$ W! T  d+ ~* Hxprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)];* r; w5 H/ L9 ]" t" D( k
再在命令窗口中执行:& L  z# [) }# n) K0 L, s
>>global MU
- `/ N7 h6 h/ c, k6 }4 R, k>>MU = 7;
( ^) D9 \" x  `7 U>>Y0=[1;0]
4 l# ^! K4 w- g, w& X$ K8 B. d+ f>>[t,x] = ode45(‘verderpol’,0,40,Y0);
; X) o+ v+ m5 ]2 p1 Q8 }>>x1=x(:,1);x2=x(:,2);
. C# A" U0 [/ k( o) p, g  G>>plot(t,x1,t,x2)# a( g- r0 e5 [2 V
图形结果为图2-20。
: W1 ^' G3 f1 a0 j1 O7 ]/ S ) L& y8 x* ^2 I. D- }8 p
图2-20  Ver der Pol微分方程图0 \: I% V# a" q3 t# c' J

作者: 青枫林霰    时间: 2012-8-6 09:55
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
作者: shaox    时间: 2012-8-6 10:14
青枫林霰 发表于 2012-8-6 09:55
1 W6 Z6 Z7 M3 [/ z有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。

6 ?( j. d4 P( X: k, H就是运用组合的4/5阶龙格库塔芬尔格算法




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