已知连续时间的微分方程,用matlab求出其单位冲击冲激响应,并画出波形的代码
时间: 2023-06-05 22:05:56 浏览: 1409
Matlab求信号响应与频谱分析.docx
以下是关于求解微分方程单位冲击响应及画图的 Matlab 代码:
假设已知微分方程为 y''(t) + 2 * y'(t) + 5 * y(t) = f(t),其中 f(t) 是单位冲击函数,即 f(t) = delta(t)
首先我们可以通过 Laplace 变换求解该微分方程的传递函数 H(s):
syms s y
eqn = y'' + 2*y' + 5*y == 1/s;
H = solve(eqn, y);
Hs = laplace(H);
得到 H(s) = 1 / ((s + 1)^2 + 4)
然后可以通过反演变换得到单位冲击响应 h(t):
ht = ilaplace(Hs)
得到 h(t) = (1/2)*exp(-t)*sin(2*t)
最后我们可以用 plot 函数画出单位冲击响应的波形:
t = 0:0.01:10;
plot(t, ht(t))
完整代码如下:
syms s y
eqn = y'' + 2*y' + 5*y == 1/s;
H = solve(eqn, y);
Hs = laplace(H);
ht = ilaplace(Hs);
t = 0:0.01:10;
plot(t, ht(t))
阅读全文