exponenta event banner

toCellArray

Преобразовать полиномиальный объект оператора задержки в массив ячеек

Синтаксис

[coefficients, lags] = toCellArray(A)

Описание

[coefficients, lags] = toCellArray(A) преобразует полиномиальный объект A (L) оператора запаздывания в эквивалентный массив ячеек .coefficients - массив ячеек, эквивалентный многочлену оператора запаздывания A (L ).lags является вектором уникальных целых запаздываний, связанных с полиномиальными коэффициентами. Элементы лагов находятся в порядке возрастания. Первым элементом запаздываний является меньший из наименьшего ненулевого коэффициента запаздывания объекта и ноль; последний элемент лагов - степень многочлена. То есть lags = [min(A.Lags,0), 1, 2, ... A.Degree].

Примеры

развернуть все

Создать LagOp полином и преобразовать его в массив ячеек:

A = LagOp({0.8 1 0 .6});
B = toCellArray(A);
class(B)
ans = 
'cell'

Алгоритмы

LagOp объекты неявно сохраняют полиномиальные запаздывания и соответствующие матрицы коэффициентов нулевых коэффициентов посредством индексирования на основе запаздывания. Однако массивы ячеек соответствуют традиционным правилам индексирования элементов и должны явно хранить матрицы нулевых коэффициентов.

Матрица выходных ячеек эквивалентна полиному оператора входного запаздывания в том смысле, что тот же самый оператор запаздывания создается, когда выходные коэффициенты и запаздывания используются для создания нового LagOp объект. То есть, следующие два оператора производят один и тот же многочлен A (L):

[coefficients,lags] = toCellArray(A);
A = LagOp(coefficients,'Lags',lags);