|
|
发表于 2014-7-14 00:28:29
|
显示全部楼层
|
matlab 二阶微分方程
7 j9 ^9 \8 h; Q2 K2 D! Q' Z. {$ \- ^- ]
>> clear5 I [( c! O* w' ]
>> syms a b c d e;- ~0 E2 M) O$ k8 O7 Q! A
>> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e')
( _: m7 `; p0 e/ ?" ] 5 E; v/ {3 w: ~8 F
y =
. W9 `+ y) p8 ^ : b2 O* S: j1 j O2 M
(2*a*e + b*d + d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b - (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2)) - (2*a*e + b*d - d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b + (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2))- d+ S; K% w4 E. d
3 i7 h+ V/ r) {3 E5 Z b>> a=1;b=1;c=1;d=1;e=1;%若常数已知
( G7 v$ T2 P; L$ j% y4 n# b) f6 _' ]1 l. M, P! S/ |# ~
>> t=1;%desolve中没指定自变量x,这里默认为t,带入任意一个x值
3 m' e6 i) M8 v0 \' y* Y>> y=eval(y)
% c5 j" @3 }" N# R+ H* g L3 M# a
y =
( q1 W! v" g, g7 C @# V* n+ U* I3 x) z. K+ |* V- F" |2 R b
1.1932 + 0.0000i$ D! e! |) b- Y: ^6 |: U
这是解方程的方法,画图也差不多,我在命令窗写的改麻烦,下面是我在editor写的。% ]. j C/ [( w: Y2 j7 C9 f
syms a b c d e;
, K+ d. z" t- Y# ], |y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e','x');4 b, [& X1 f) h0 f
x=200:0.1:400;%取值范围,步长
/ b3 S9 v% M# D; {1 J/ p; @a=1;b=1;c=1;d=1;e=1;%带入参数2 D8 F9 Q# p% L" _/ v4 I9 i
y=eval(y);
7 B9 I$ }9 T# h g8 wplot(x,y) |
|