определить линейную систему с временной задержкой в ​​Mathematica и построить ее диаграммы Боде и Найквиста

У меня есть характеристическое уравнение системы с запаздыванием, и я не могу определить его с помощью команды StateSpaceModel или TransferFunctionModel в Mathematica; Потому что эти команды работают только для линейных систем без задержки.

Моя цель — определить систему временной задержки в Mathematica 8.0.1 и построить график < em>Диаграмма Боде и Диаграмма Найквиста для такой системы:

g = ((s + 1) (1-E^(-2 s) + E^(-3 s)))/(s^2 + 2 s + 10)

person Jalil    schedule 27.05.2011    source источник


Ответы (1)


Судя по документации, кажется, что MMA ожидает, что передаточные функции будут полиномиальными. На странице документа для TransferFunctionModel говорится:

В TransferFunctionModel[{num,den},var] число должно быть полиномиальной матрицей, а число может быть указано как полиномиальная матрица или просто полином общего знаменателя.

Все примеры, которые я видел, имеют многочлены в числителе и знаменателе.

Бодеплот Matlab также не выполняет чистые временные задержки.

Иногда можно услышать предложение использовать аппроксимацию экспоненты Паде. Это можно сделать с помощью функции mma PadeApproximant.

введите здесь описание изображения

Однако это кажется справедливым только для довольно низких частот (первые 180 градусов фазового перехода или около того), как указано здесь.

person Sjoerd C. de Vries    schedule 27.05.2011
comment
Я знаю, что вы предлагаете построить диаграммы Боде и Найквиста моей проблемы. - person Jalil; 27.05.2011
comment
Я не хочу использовать метод аппроксимации Паде. Думаю, мне следует написать код и подстановку g/.{s-> j w} и вычислить величину и фазу комплексного значения g, а затем построить величину и фазу относительно w для графика Боде и для диаграммы Найквиста вычислить действительное и мнимое Часть g/.{s->j w}, а затем постройте мнимую часть относительно действительной части для диапазона частот (w). - person Jalil; 27.05.2011