exponenta event banner

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')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent original, reduced. Axes 2 contains 2 objects of type line. These objects represent original, reduced.

Ссылки

[1] Варга, Андрас. «Вычисление неприводимых обобщенных реализаций состояния-пространства». Кыбернетика 26.2 (1990): 89-106.

См. также

|

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