Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTU.doc
Скачиваний:
9
Добавлен:
21.11.2019
Размер:
2.82 Mб
Скачать

Модели динамики

Модели динамики одни из наиболее применяемых. Рассмотрим некоторые из функций для работы с такими моделями.

Функция damp возвращает собственные частоты и коэффициенты демпфирования LTI-моделей:

[Wn,Z,P]=damp(sys)

Функция damp предназначена для расчета собственных чисел P, соответствующих им собственных частот Wn и коэффициентов демпфирования Z, соответствующих полюсам LTI-модели sys.

Функция dcgain возвращает статический коэффициент передачи LTI-модели:

k=dcgain(sys)

Функция pole возвращает вектор, элементами которого являются полюсы LTI-модели:

p=pole(sys)

Пример.

>> H=tf([1 -2.841 2.875 -1.004],[1 -2.417 2.003 -0.5488])

Transfer function:

S^3-2.841s^2+2.875s-1.004

--------------------------

S^3-2.417s^2+2.003s-0.5488

>> p=pole(H)

P=

0.9054+0.2924i

0.9054-0.2924i

0.6063

Функция pzmap возвращает карту нулей и полюсов:

pzmap(sys)

[p,z]=pzmap(sys)

В последней форме записи график не выводится а возвращаются векторы, элементы которых являются нулями и полюсами модели.

Пример.

>>pz=pzmap(H)

pz=

0.9054+0.2924i

0.9054-0.2924i

0.6063

Функция r=roots(c) вычисляет корни полиномов, коэффициенты которых хранятся в векторе c.

Пример.

>> p=[1 -6 -72 -27]; r=roots(p)

r=

12.1229

-5.7345

-0.3884

Функция zero возвращает вектор, элементами которого являются нули LTI-модели:

z=zero(sys)

[z,gain]=zero(sys)

В последней форме функция возвращает нули и обобщенный коэффициент передачи модели.

Пример.

>> [z,gain]=zero(H)

z=

0.9984+0.4388i

0.9984-0.4388i

0.8442

gain=1

Функция rlocus выполняет расчет и построение корневого годографа по известной LTI-модели разомкнутой одномерной модели системы sys:

rlocus(sys) rlocus(sys,k)

rlocus(sys1,sys2,…,sysN)

[r,k]=rlocus(sys) r= rlocus(sys,k)

Здесь sys – имя модели и k – начальное значение коэффициента усиления звена обратной связи. Возвращаемые значения:

  • график корневого годографа;

  • r – массив полюсов при изменении k от 0 до ∞;

  • k – соответствующий массив значений коэффициентов усиления.

Функция sgrid обеспечивает построение линий «сетки».

Пример. Построим корневой годограф системы с передаточной функцией

>> W=tf([2 5 1],[1 2 3]); rlocus(W); sgrid

Результат показан на рис. 1.

Рисунок 1 – Результат выполнения функций rlocus и sgrid

Моделирование временного отклика систем

В группу функций для расчета и построения временного отклика систем входят следующие функции.

Функция step рассчитывает и строит реакцию модели на единичную ступенчатую функцию, то есть возвращает переходную функцию системы:

step(sys) step(sys,t)

step(sys1,sys2,…,sysN) step(sys1,sys2,…,sysN,t)

step(sys1,’PlotStyle1’,…,sysN,’PlotStyleN’)

Для моделей, заданных в пространстве состояний, начальные условия принимаются нулевыми. Аргументы функции следующие:

  • sys,sys1,sys2,…,sysN – имена моделей, для которых строятся переходные функции(все модели должны иметь одинаковое число входов и выходов);

  • t – аргумент, задающий момент окончания моделирования – либо в форме t=Tfinal (в секундах), либо в форме t=0:dt:Tfinal. Для непрерывных моделей значение dt должно быть достаточно малым, чтобы учесть наиболее быстрые изменения переходного процесса;

  • ’PlotStyle1’,’PlotStyle2’,…,’PlotStyleN’ – строковые переменные, задающие тили графиков (типы линий) при выводе нескольких графиков одновременно.

Возвращаемые величины - график (графики) переходных процессов.

Пример. Построим переходную характеристику для объекта с непрерывной передаточной функцией

>> sys=tf([1 0],[1 2 10]);

step(sys)

График данного процесса приведен на рис.2.

Рисунок 2 – Переходная характеристика исследуемого объекта

Функция impulse возвращает импульсную характеристику модели или нескольких моделей:

impulse(sys) impulse(sys,t)

impulse(sys1,sys2,…,sysN) impulse(sys1,sys2,…,sysN,t)

impulse(sys1,’PlotStyle1’,…,sysN,’PlotStyleN’)

Смысл аргументов и возвращаемых величин – как у предыдущей функции.

Пример. Для ранее заданной модели имеем (рис.3):

>> sys=tf([1 0],[1 2 10]);

impulse(sys)

Рисунок 3 – Импульсная характеристика исследуемого объекта

Функция lsim возвращает реакцию LTI-модели на произвольное входное воздействие:

lsim(sys,u,t)

lsim(sys1,sys2,…,sysN,u,t)

lsim(sys1,’PlotStyle1’,…,sysN,’PlotStyleN’,u,t)

Здесь t – вектор-строка моментов времени, u – вектор-строка значений входного сигнала, остальные аргументы - как у предыдущих функций данной группы.

Вместе с описанными функциями часто используются функции генерации тестовых временных зависимостей. Так, функция Так, функция gensig генерирует скалярный сигнал заданного типа с заданным периодом:

[u,t]=gensig(type,tau)

[u,t]=gensig(type,tau,Tf,Ts)

Здесь:

  • type – строковая переменная, задающая тип генерируемого сигнала:

  • ‘sin’ – синусоида;

  • ‘square’ – периодический прямоугольный сигнал;

  • ‘pulse’ – периодические импульсы.

Все генерируемые сигналы имеют единичную амплитуду;

  • Tau – период генерируемого сигнала (в секундах);

  • Tf – продолжительность сигнала, с;

  • Ts – период дискретности (в секундах) для генератора импульсов.

Пример. Найдем реакцию выше рассмотренного объекта на периодический прямоугольный сигнал с периодом 5 с, продолжительностью 30 с и периодом дискретизации 0,1 с.

Создадим указанный сигнал:

>> [u,t]=gensig(‘square’,5,30,0.1);

Отобразим теперь график сигнала (рис. 4)

>> plot(t,u);axis([0 30 -1 2])

Рисунок 4 – Пример использования функции gensig

Затем найдем реакцию объекта на сформированный сигнал:

>> W=tf([1 0],[1 2 10]);

>> lsim(W,u,t)

Результат показан на рис. 5.

Рисунок 5 – Реакция объекта на периодический прямоугольный сигнал

Функция stepfun возвращает сигнал типа «единичный скачок»:

stepfun(t,t0)

Здесь t – вектор-строка моментов времени и t0 – некоторый момент времени., в который происходит скачок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]