9. Matlab仿真二阶弹簧阻尼系统

前言

本篇文章介绍了如何使用MATLAB分析二阶系统

被控系统

x ¨ + 5 x ˙ + 6 x = F \ddot{x}+5\dot{x}+6x=F x¨+5x˙+6x=F
可以对上述系统进行拉式变化,得到传递函数为
G = 1 s 2 + 5 s + 6 G=\frac{1}{s^2+5s+6} G=s2+5s+61
可以分析系统的伯德图,具体代码和图像如下:

s=tf('s');
G=1/(s^2+5*s+6);
bode(G)

在这里插入图片描述

输入正弦得到输出

t=0:0.05:10;
xt=1+5*cos(t);
lsim(G,xt,t)

在这里插入图片描述

已知输出得到输入

首先对输出进行Laplace变换而后进行反变换得到输入,但是在matlab中的输入会包含狄拉克函数项

syms s t;
y=0.1+0.5*cos(t);
Ys=laplace(y);
G=1/(s^2+5*s+6);
Xs=Ys/G;
xt=ilaplace(Xs)

输出为:
x t = ( 5 ∗ c o s ( t ) ) / 2 + 3 ∗ d i r a c ( t ) − ( 5 ∗ s i n ( t ) ) / 2 + ( 3 ∗ d i r a c ( 1 , t ) ) / 5 + 3 / 5 xt = (5*cos(t))/2 + 3*dirac(t) - (5*sin(t))/2 + (3*dirac(1, t))/5 + 3/5 xt=(5cos(t))/2+3dirac(t)(5sin(t))/2+(3dirac(1,t))/5+3/5
同样也可以手动计算输入的幅值、相位差等,从而手动得到输入信号的表达式。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lilili~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值