|
发表于 2014-7-14 00:28:29
|
显示全部楼层
matlab 二阶微分方程
1 }8 r& t0 X& F/ J
2 V! r/ B5 o. X# f>> clear/ M) r/ X! w7 H( G
>> syms a b c d e;3 z8 A, d7 |, B. u# i& l
>> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e')
. Y$ }$ ^, q3 \5 C
/ B$ g! Y+ k6 J( @y = F8 a/ T% w. e& L6 V' k4 t
+ z$ D: v4 k8 F9 r0 |2 Y) Q1 [
(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))
1 b5 O, o3 }( h2 {2 {' g1 u/ L / C+ J$ j' p3 e# |
>> a=1;b=1;c=1;d=1;e=1;%若常数已知
( B/ N# d9 |( @5 e/ O
9 j# W0 H8 k b. Q* B>> t=1;%desolve中没指定自变量x,这里默认为t,带入任意一个x值% w+ K8 j. p- H. A8 d
>> y=eval(y)
' g6 M" P' |! [8 y0 p& P2 q7 w* x; g* K5 I
y =
: ?4 ~$ q7 G# e4 x. T& r* e) P" p7 d* D
1.1932 + 0.0000i6 C m i0 T8 x5 k% e5 j6 Y" |
这是解方程的方法,画图也差不多,我在命令窗写的改麻烦,下面是我在editor写的。
: t1 g8 X8 ~* m( F: \5 `6 dsyms a b c d e;( {* a# b8 Y8 U1 ]
y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e','x');( s+ r; W' e0 d0 b' _: w
x=200:0.1:400;%取值范围,步长& r8 }" F0 ~" D3 B0 B7 D" M
a=1;b=1;c=1;d=1;e=1;%带入参数
3 b. P" @9 o3 K! }: Hy=eval(y);; {5 M. ^7 l0 [* W! C! x, \) m
plot(x,y) |
|