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