我有一个传递函数H(s),它看起来像这样:1 /(s。^ 2 + s + 1),它没有任何真正的根,只有复杂的根。如何找到t = 0:0.001:10的脉冲响应?我知道我需要将H表示为两个一阶多项式的乘积,然后使用部分分数的方法将H表示为两个项的和(使用残差函数)。在这里我被卡住了,我使用了残留物,但它没有多大帮助,这是我的代码:
t=[0:0.001:10];
f = 0:0.001:2;
j = sqrt(-1);
num = [0 0 1];
den = [1 1 1];
[r,p,k] = residue(num,den)
答案 0 :(得分:0)
分子和分母的系数是相应ODE问题的系数。
eq = @(t,z) [z(2); 1-z(1)-z(2)];
[t,y] = ode45(eq,[0,10],[0,0])
plot(t,y)
答案 1 :(得分:0)
使用符号计算:
>> syms s;
>> H = 1/(s.^2+s+1);
>> h = ilaplace(H)
h =
(2*3^(1/2)*exp(-t/2)*sin((3^(1/2)*t)/2))/3
如果要在[0 10]上绘制符号函数h
:
>> ezplot(h, [0 10])