我试图用MATLAB来求解阶跃函数为
的常微分方程
下面是我的代码来解决上述ODE:
syms t s Y y(t) Dy(t) u(t) f(t) k
Dy = diff(y,t)
D2y = diff(Dy,t)
f = heaviside(t) + 2*symsum((-1)^k*heaviside(t-k*pi()),k,1,Inf)
eqn = D2y +0.1*Dy + y == f
leqn = laplace(eqn,t,s)
LT_Y=subs (leqn, laplace (y,t,s),Y);
LT_Y=subs (LT_Y, y(0), 0);
LT_Y=subs(LT_Y, subs(diff(y(t), t), t, 0), 0);
Y=solve(LT_Y,Y);
y=ilaplace(Y,s,t)
然而,结果看起来很奇怪,我无法绘制解决方案的图形。谁能告诉我应该对我的代码做些什么,以便我可以绘制解决方案?非常感谢
1条答案
按热度按时间1yjd4xko1#
摩擦项的衰减率为
0.1/2=0.05
,因此衰减0.1
需要大约t=40
。在标准图中,图尺寸小到1%
的特征是可见的,这需要t=80
的时间跨度,或更长的时间跨度,以便对该水平的振幅稳定性进行一些视觉确认。右侧与左侧大致共振,因此稳态解大致为
-10*cos(t)
加上更高频率的分量。仅绘制数值解就足够了
这给出了下图,蓝色表示溶液,绿色表示参比品(推测振幅)
计算右侧的傅里叶级数,解的余弦分量的振幅为
40/pi=12.732
。