scipy在控制理论的应用

scipy在控制理论的应用

基本理论:

系统可以使用状态空间、传递函数、零极点增益三种数学表示方式。

1、状态空间:
x ˙ = A x + B u x [ k + 1 ] = A x [ k ] + B u [ k ] \begin{aligned} &\dot{x}=Ax+Bu \\ &x[k+1]=Ax[k]+Bu[k] \end{aligned} x˙=Ax+Bux[k+1]=Ax[k]+Bu[k]
2、零极点增益:
H ( s ) = k ∏ i ( s − z [ i ] ) ∏ j ( s − p [ j ] ) H(s)=\frac{k\prod_{i}{(s-z[i])}}{\prod_j(s-p[j])} H(s)=j(sp[j])ki(sz[i])
3、传递函数:
H ( s ) = ∑ i = 0 N b [ N − i ] s i ∑ j = 0 M b [ M − j ] s j H ( s ) = ∑ i = 0 N b [ N − i ] z i ∑ j = 0 M b [ M − j ] z j H(s)=\frac{\sum_{i=0}^Nb[N-i]s^i}{\sum_{j=0}^M}b[M-j]s^j\\ H(s)=\frac{\sum_{i=0}^Nb[N-i]z^i}{\sum_{j=0}^M}b[M-j]z^j\\ H(s)=j=0Mi=0Nb[Ni]sib[Mj]sjH(s)=j=0Mi=0Nb[Ni]zib[Mj]zj

1、连续时间线性系统(Continuous-time linear systems)

lti(*system)连续时间线性系统基类
StateSpace(*system, **kwargs)状态空间表达式的连续线性时不变系统
TransferFunction(*system, **kwargs)传递函数表示的连续线性时不变系统
ZerosPolesGain(*system, **kwargs)零极点增益表示的连续线性时不变系统
lsim(system, U, T[, X0, interp])连续时间线性系统输出仿真
lsim2(system[, U, T, X0])使用常微分方程求解器的连续时间线性系统输出仿真
impulse(system[, X0, T, N])连续时间线性系统脉冲响应
impulse2(system[, X0, T, N])但输入的连续时间线性系统脉冲响应
step(system[, X0, T, N])连续时间线性系统阶跃响应
step2(system[, X0, T, N])连续时间线性系统阶跃响应
freqresp(system[, w, n])连续时间线性系统频率响应
bode(system[, w, n])计算连续时间线性系统的伯德图和相位

2、离散时间线性系统(Discrete-time linear systems)

dlti(*system, **kwargs)离散线性时不变系统基类
StateSpace(*system, **kwargs)状态空间表达式的离散线性时不变系统
TransferFunction(*system, **kwargs)传递函数表示的离散线性时不变系统
ZerosPolesGain(*system, **kwargs)零极点增益表示的离散线性时不变系统
dlsim(system, u[, t, x0])离散时间线性系统输出仿真
dimpulse(system[, x0, t, n])离散时间线性系统脉冲响应
dstep(system[, x0, t, n])离散时间线性系统阶跃响应
dfreqresp(system[, w, n, whole])计算离散时间线性系统频率响应
dbode(system[, w, n])计算离散时间线性系统的伯德图和相位

3、不同表示的转换

tf2zpk(b, a)线性滤波器分子分母表示->零极点增益表示
tf2sos(b, a[, pairing, analog])传递函数->二阶基本节
tf2ss(num, den)传递函数->状态空间
zpk2tf(z, p, k)零极点增益->传递函数
zpk2sos(z, p, k[, pairing, analog])零极点增益->二阶基本节
zpk2ss(z, p, k)零极点增益->状态空间
ss2tf(A, B, C, D[, input])状态空间->传递函数
ss2zpk(A, B, C, D[, input])状态空间->零极点增益
sos2zpk(sos)二阶基本节->零极点增益
sos2tf(sos)二阶基本节->传递函数
cont2discrete(system, dt[, method, alpha])连续系统->离散状态空间表示的系统
place_poles(A, B, poles[, method, rtol, maxiter])计算K使得特征值 (A - dot(B, K))=poles.
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

KPer_Yang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值