isproper

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

Синтаксис

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

Описание

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

Соответствующая модель имеет относительную степень ≤ 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