scipy.signal.

dlsim#

scipy.signal.dlsim(system, u, t=None, x0=None)[源代码]#

模拟离散时间线性系统的输出。

参数:
systemarray_like 或 dlti 实例的元组

描述系统的元组。下面给出了元组中的元素数量及其含义

  • 1: (dlti 实例)

  • 3: (num, den, dt)

  • 4: (zeros, poles, gain, dt)

  • 5: (A, B, C, D, dt)

uarray_like

表示在每个时间 t 处输入的输入数组(假设给定的时间之间进行插值)。如果有多个输入,则秩为 2 的数组的每列代表一个输入。

tarray_like,可选

定义输入的时间步长。如果给定 t,那么它必须与 u 的长度相同,并且 t 中的最终值决定输出中返回的步长数。

x0类数组,可选

状态向量上的初始条件(默认情况下为零)。

返回:
toutndarray

1-D 数组形式的输出时间值。

youtndarray

1-D 数组形式的系统响应。

xoutndarray,可选

状态向量的时域演变。仅当输入为 StateSpace 系统时才会生成。

另请参见

lsimdstepdimpulsecont2discrete

示例

步长为 1.0 的简单积分传递函数可实现为

>>> import numpy as np
>>> from scipy import signal
>>> tf = ([1.0,], [1.0, -1.0], 1.0)
>>> t_in = [0.0, 1.0, 2.0, 3.0]
>>> u = np.asarray([0.0, 0.0, 1.0, 1.0])
>>> t_out, y = signal.dlsim(tf, u, t=t_in)
>>> y.T
array([[ 0.,  0.,  0.,  1.]])