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 中的最终值确定输出中返回的步数。

x0array_like,可选

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

返回:
toutndarray

输出的时间值,作为一维数组。

youtndarray

系统响应,作为一维数组。

xoutndarray,可选

状态向量的时间演化。仅当输入是 StateSpace 系统时生成。

示例

具有离散时间步长 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.]])