使用Matlab求解连续时间系统的零状态响应

      连续时间LTI系统以常系数微分方程描述, 系统的零状态响应可通过求解初始状态为零的微分方程得到. 在Matlab中, 控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim. 其调用方式为

            y = lsim(sys, x, t)

式中 t 表示计算系统响应的抽样点向量, x 是系统的输入信号向量, sys是连续时间LTI系统模型, 用来表示微分方程、差分方程或状态方程. 在求解微分方程时, 连续时间LTI系统模型 sys 要借助 tf 函数获得, 其调用方式为 

           sys = tf(b, a)

式中b和a分别为微分方程右端和左端各项的系数向量. 注意微分方程中为零的系数一定要写入向量a和b中.


      设描述系统输入输出关系的微分方程为 yzs''(t) + 3yzs'(t) + 2yzs(t) = 2x(t), 其中 x(t) = sint + sin20t, 计算系统的零状态响应yzs(t). 

% 连续时间LTI系统零状态响应的求解
% 在区间[0, 30]上选取5000个点
t = linspace(0,30, 5000);
% 连续时间LTI系统模型sys要借助tf函数获得
% 其调用方式为 sys(b, a)
% 其中b和a分别为微分方程右端和左端各项的系数向量.
% yzs''(t) + 3yzs'(t) + 2yzs(t) = 2x(t)
sys = tf([2], [1 3 2]);
% 输入为x(t) = sint + sin20t
x = sin(t) + sin(20 * t);
% lsim函数用以求解连续时间LTI系统模型sys在输入激励为x的条件下的零状态响应
y = lsim(sys, x, t);
% 绘制系统零状态响应波形
plot(t, y);
%
xlabel('time(s)');
ylabel('yzs(t)&#
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好梦成真Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值