dlsim#
- scipy.signal.dlsim(система, u, t=None, x0=None)[источник]#
Смоделировать выход дискретной линейной системы.
- Параметры:
- системаdlti | кортеж
Экземпляр класса LTI
dltiили кортеж, описывающий систему. Количество элементов в кортеже определяет интерпретацию. Т.е.:system: Экземпляр класса LTIdlti. Обратите внимание, что производные экземпляры, такие как экземплярыTransferFunction,ZerosPolesGain, илиStateSpace, также допускаются.(num, den, dt): Рациональный полином, как описано вTransferFunction. Коэффициенты полиномов должны быть указаны в порядке убывания степеней, например, z² + 3z + 5 должно быть представлено как[1, 3, 5].(zeros, poles, gain, dt): Форма нулей, полюсов и коэффициента усиления, как описано вZerosPolesGain.(A, B, C, D, dt): Форма пространства состояний, как описано вStateSpace.
- 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.]])