数学建模社区-数学中国

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

作者: 青枫林霰    时间: 2012-8-6 09:35
标题: 求高手指教啊
matlab中遇到ode45(,)是什么意思啊,可以举出例子吗?
作者: shaox    时间: 2012-8-6 09:47
本帖最后由 shaox 于 2012-8-6 09:53 编辑 0 ]" O* P7 x4 l2 |; b; w! e

% Y' u5 a" w/ }! X$ I' O1 I" tode45表示五分之四阶的龙格库塔芬尔格算法
9 W1 c3 T2 j" z& W例2-45  求解描述振荡器的经典的Ver der Pol微分方程 : v% D* h" H- a0 H) E* y
y(0)=1,y’(0)=0
' J7 W$ f) Z. M令x1=y,x2=dy/dt,则3 a. ^8 ]/ K' U( P3 f
dx1/dt = x2# Q/ d# _* R1 Z+ |; f
dx2/dt = μ(1-(x1)^2)*x2-x1
: G) g: E4 J* `; n/ U% g编写函数文件verderpol.m:0 A  H9 P% }9 h4 [4 @4 i
function xprime = verderpol(t,x)* \7 T  U$ k! N3 r. Y4 g' R5 A
global MU
  k" z# x& X2 P/ Xxprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)];
/ w- N: l  ?& Y5 N8 l再在命令窗口中执行:* T, O) w4 Y* Z' h$ a, F& v
>>global MU! T7 U4 X* X. ?/ h& m' l" C9 Z3 W7 I
>>MU = 7;! T* u) S) g# t) ]/ {
>>Y0=[1;0]
7 u' q8 o' Q/ j9 V. P& @7 T6 i" j. ~>>[t,x] = ode45(‘verderpol’,0,40,Y0);" m/ K3 T" L6 ]7 ^- R7 L9 `
>>x1=x(:,1);x2=x(:,2);+ T8 }8 b5 F& b7 a3 b3 U
>>plot(t,x1,t,x2)  \2 j  E; j" t1 O) k/ A
图形结果为图2-20。
+ ?) q5 @  f# z' t; O$ I0 B+ c # y6 B) a& Y6 r  I2 P4 C
图2-20  Ver der Pol微分方程图
5 k9 X1 X% ?/ \3 ?
作者: 青枫林霰    时间: 2012-8-6 09:55
有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
作者: shaox    时间: 2012-8-6 10:14
青枫林霰 发表于 2012-8-6 09:55
! K' o( ]. k5 h1 l- }; X有参考书吗?推荐一下啊。我看得有2,3,4阶,没有看到5分之4阶啊。
" t- ]) Y5 s# R" D8 d
就是运用组合的4/5阶龙格库塔芬尔格算法




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