已知某 LTI 系统的单位冲激响应为h(t) (et e2t )u(t) ,指定输入激励为 f (t) etu(t),分别利用 Matlab 中的 lsim函数和 conv 函数计算系统的零状态响应,并给出全部的代码
时间: 2024-02-18 22:00:08 浏览: 76
好的,我知道了。下面是利用 Matlab 中的 lsim 函数和 conv 函数计算系统的零状态响应的代码:
```matlab
% 首先定义系统的单位冲激响应和输入激励
h = [1, 1, 0]; % 单位冲激响应 h(t) = (e^(-t) + e^(-2t))u(t)
f = exp(-1) * [1, 0]; % 输入激励 f(t) = e^(-t)u(t)
% 利用 lsim 函数计算零状态响应
t = 0:0.01:5; % 时间范围
y_lsim = lsim(tf(h, 1), f, t); % 利用 tf 函数将 h 转化为系统传递函数
% 利用 conv 函数计算零状态响应
y_conv = conv(f, h, 'full');
t_conv = 0:0.01:(length(y_conv)-1)*0.01;
% 绘制图像
figure;
subplot(3,1,1); plot(t, f); title('输入激励 f(t)'); xlabel('t'); ylabel('f(t)');
subplot(3,1,2); plot(t, y_lsim); title('lsim 计算的零状态响应'); xlabel('t'); ylabel('y(t)');
subplot(3,1,3); plot(t_conv, y_conv); title('conv 计算的零状态响应'); xlabel('t'); ylabel('y(t)');
```
在这段代码中,我们首先定义了系统的单位冲激响应 `h` 和输入激励 `f`,然后分别利用 `lsim` 函数和 `conv` 函数计算系统的零状态响应 `y_lsim` 和 `y_conv`。最后,我们绘制出输入激励和两种方法计算的零状态响应的图像。
需要注意的是,我们在使用 `lsim` 函数时,需要将 `h` 转化为系统传递函数形式,即 `tf(h, 1)`。
阅读全文