isproper

Определите, является ли модель динамической системы соответствующей

Синтаксис

B = isproper(sys)
B = isproper(sys,'elem')
[B,sysr] = isproper(sys)

Описание

B = isproper(sys) возвращает логическое значение 1 (true), если модель sys динамической системы является соответствующей и логическое значение 0 (false) в противном случае.

Соответствующая модель имеет относительную степень ≤ 0 и является причинной. Передаточные функции SISO и модели нулей и полюсов являются соответствующими, если степень их числителя меньше чем или равна степени их знаменателя (другими словами, если у них есть, по крайней мере, столько полюсов, сколько обнуляет). Передаточные функции MIMO являются соответствующими, если все их записи SISO являются соответствующими. Регулярные модели в пространстве состояний (модели в пространстве состояний, имеющие матрицу E), являются всегда соответствующими. Модель в пространстве состояний дескриптора, которая имеет обратимую матрицу E, является всегда соответствующей. Модель в пространстве состояний дескриптора, имеющая сингулярную (необратимую) матрицу E, является соответствующей, если модель имеет, по крайней мере, столько полюсов, сколько обнуляет.

Если sys является образцовым массивом, то B является 1, если все модели в массиве являются соответствующими.

B = isproper(sys,'elem') проверки каждая модель в образцовом массиве sys и возвращают логический массив, одного размера как sys. Логический массив указывает, какие модели в sys являются соответствующими.

[B,sysr] = isproper(sys) также возвращает эквивалентную модель sysr с меньшим количеством состояний (уменьшаемый порядок) и несингулярная матрица E, если sys является соответствующей моделью в пространстве состояний дескриптора с необратимой матрицей E. Если sys не является соответствующим, sysr = sys.

Примеры

свернуть все

Создайте непрерывно-разовую передаточную функцию SISO, H1=s

H1 = tf([1 0],1);

Проверяйте, является ли H1 соответствующим.

B1 = isproper(H1)
B1 = logical
   0

Передаточные функции SISO являются соответствующими, если степень их числителя меньше чем или равна степени их знаменателя таким образом, если передаточная функция имеет, по крайней мере, столько полюсов, сколько обнуляет. Поскольку H1 имеет один нуль и никакие полюса, команда isproper возвращает 0.

Теперь создайте передаточную функцию с одним полюсом и одним нулем, H2=s/(s+1)

H2 = tf([1 0],[1 1]);

Проверяйте, является ли H2 соответствующим.

B2 = isproper(H2)
B2 = logical
   1

Поскольку H2 имеет равное количество полюсов и нулей, isproper возвращает 1.

Объединение моделей в пространстве состояний иногда приводит к результатам, которые включают больше состояний, чем необходимый. Используйте isproper, чтобы вычислить эквивалентную модель более низкоуровневую.

H1 = ss(tf([1 1],[1 2 5]));
H2 = ss(tf([1 7],[1]));
H = H1*H2;
size(H)
State-space model with 1 outputs, 1 inputs, and 4 states.

H является соответствующим и приводимым. isproper возвращает упрощенную модель.

[isprop,Hr] = isproper(H);
size(Hr)
State-space model with 1 outputs, 1 inputs, and 2 states.

H и Hr эквивалентны, как демонстрирует Диаграмма Боде.

bodeplot(H,Hr,'r--')
legend('original','reduced')

Смотрите также

|

Представлено до R2006a