|
发表于 2014-7-14 00:28:29
|
显示全部楼层
matlab 二阶微分方程
, v. [* ^" G, U8 j/ p
7 Q, g& N- h$ {# j7 U3 T>> clear
5 X0 v2 d3 e$ }! S3 y- {4 D>> syms a b c d e;
# R8 c E2 f+ C8 ?$ _% N- d>> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e')
- |" F5 X; L* P0 r( B* d9 B9 P5 i 0 H- d! S: K8 L2 \7 s3 y* f2 \
y =. j2 c+ D3 L( h$ y5 {4 Q4 V
& H, j& d# V* `. h7 l
(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))0 e, e2 e" r) P; A
5 c! u z% p8 v3 q5 @* D2 e
>> a=1;b=1;c=1;d=1;e=1;%若常数已知9 @# V: J9 w/ d& V
+ P) a; ]7 F- ?) R5 `1 e- q>> t=1;%desolve中没指定自变量x,这里默认为t,带入任意一个x值
1 i, ~- ~* H! t; s, H- j; l>> y=eval(y)
8 U2 H( S: h8 _9 x( P0 ?' ~5 W7 b
, s ^* f7 a, E$ `( w" zy =6 {7 W3 O, y/ t
6 y0 h1 J/ P+ A; V3 i$ L7 \
1.1932 + 0.0000i$ P' a9 l% E. _
这是解方程的方法,画图也差不多,我在命令窗写的改麻烦,下面是我在editor写的。
# \3 O+ e+ \' r* z1 ?7 e6 gsyms a b c d e;' ]9 V8 A- `7 z3 M
y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e','x');
. U/ t. n( j8 E$ \, @" D3 ?' Qx=200:0.1:400;%取值范围,步长
' h2 M% Y" d* Q1 v4 }5 `. ]1 ta=1;b=1;c=1;d=1;e=1;%带入参数
+ F1 i" e9 q2 ]0 w4 xy=eval(y);
2 ^7 t& }; N# J3 a: N6 bplot(x,y) |
|