Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

c =

 

 

 

 

x1

x2

x3

y1

0

100

0

y2

0

0

2

d =

 

 

 

 

u1

 

 

y1

0

 

 

y2

0

 

 

Continuous-time model.

Полученная модель может быть использована также, как и любая другая, сформированная командами подсистемы Control System Toolbox.

Можно получить ее в виде tf-модели: » systf=tf(sys)

Transfer function from input to output...

100 #1: ----------------

s^2 + 50 s + 600

200 #2: ---------------------------

s^3 + 52 s^2 + 700 s + 1200.

Внимание! Так как модель первоначально преобразуется в форму пространства состояний, не допускается включение в модель в явном виде элементов, передаточные функции которых носят дифференциальный характер (степень числителя больше степени знаменателя).

3.10. Операторы и функции для анализа систем

pole, eig

Расчет полюсов lti-модели

 

 

Синтаксис: p = pole(sys)

poles = eig(sys)

Функция р = pole(sys) вычисляет полюсы р одномерной или многомерной lti-модели sys.

Для ss-моделей в явной форме Коши полюсами являются собственные значения задачи Аr = r, для ss-моделей в неявной форме Коши - обобщенные собственные значения задачи Аг = Вг.

Для одномерных tf и zpk моделей полюсами являются корни знаменателя передаточной функции.

Для многомерных tf и zpk моделей полюсы определяются как множество полюсов для каждого канала входа-выхода. В процессе вычислений могут возникнуть трудности при определении точного порядка многомерной передаточной функции и выявлении избыточных полюсов. При применении функции pole tf'и zpk модели преобразуются в ss-модели и, хотя при этом по некоторым каналам входа-выхода формируются минимальные реализации, в целом функция pole не гарантирует минимальной реализации, за исключением случаев, когда многомерная система имеет единственный вход или единственный выход.

Функция poles = eig(sys) вычисляет полюсы lti-модели sys и реализована как переопределяемый метод для lti-объектов.

Ограничения: при использовании функций pole и eig процедура вычисления кратных полюсов (собственных значений) оказывается численно неустойчивой. Это выражается в том, что собственному значению кратности m, как правило, соответствует кластер близких собственных значений, расположенных на окружности с центром и радиусом порядка eps1/m.

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

damp

Расчет собственных частот и коэф-та демпфирования

 

 

Синтаксис:

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

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

Функция [Wn, Z] = damp(sys) возвращает векторы-столбцы Wn и Z, содержащие собственные частоты и коэффициенты демпфирования lti-модели sys. Для дискретных систем с полюсами z и периодом дискретности Ts рассчитываются эквивалентные полюсы непрерывной модели, исходя из соотношения z = exp(sTs). Оба вектора Wn и Z пустые, если период дискретности не указан.

Функция [Wn, Z, Р] = damp(sys) дополнительно возвращает вектор Р, содержащий полюсы lti-модели sys, которые соответствуют применению функции Р = pole(sys).

Пример:

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

» H=tf([2 5 1],[1 2 17 10 5])

Transfer function:

2 s^2 + 5 s + 1

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

s^4 + 2 s^3 + 17 s^2 + 10 s + 5

» damp(H)

Eigenvalue

Damping

Freq. (rad/s)

-3.02e-001 + 4.74e-001i

5.37e-001

5.62e-001

-3.02e-001

- 4.74e-001i

5.37e-001

5.62e-001

-6.98e-001

+ 3.92e+000i

1.75e-001

3.98e+000

-6.98e-001

- 3.92e+000i

1.75e-001

3.98e+000

dcgain

Расчет коэффициента передачи

 

 

Синтаксис:

k = dcgain(sys)

Функция k = dcgain(sys) вычисляет коэффициент передачи k для ltiмодели sys.

Непрерывные системы

Для tf-моделей коэффициент передачи вычисляется как значение передаточной функции при s = 0.

Для ss-моделей с матрицами А, В, С, D этот коэффициент определяется из соотношения k = D – СА-1В.

Дискретные системы

Для tf-моделей коэффициент передачи вычисляется как значение дискретной передаточной функции при z = 1.

Для ss-моделей с матрицами А, В, С, D этот коэффициент определяется из соотношения k = С(I - А)-1В + D.

Коэффициент передачи для lti-модели с интегратором равен бесконечности.

pzmap Вычисление полюсов и нулей системы

Синтаксис: pzmap(sys)

[p, z] = pzmap(sys)

Команда pzmap(sys) указывает расположение полюсов и нулей непрерывной или дискретной lti-модели sys на комплексной плоскости. Для одномерной lti-модели выводятся полюсы и нули ее передаточной функции; для многомерной lti-модели - полюсы и передаточные нули. Полюсы изображаются маркером х, а нули - о.

Функция [р, z] = pzmap(sys) возвращает полюсы и передаточные нули в виде векторов-столбцов р и z. План расположения нулей и полюсов на экран не выводится.

Для наглядности можно построить линии постоянного уровня для коэффициента демпфирования и собственной частоты на плоскости s или z, используя команды sgrid или zgrid.

sgrid, zgrid

Построение сеток постоянного уровня

 

 

Синтаксис:

 

sgrid

zgrid

sgrid(z, wn)

zgrid(z, wn)

Команды sgrid и zgrid строят сетки постоянных коэффициентов демпфирования от 0 до 1 с шагом 0.1 и собственных частот от 0 до 10 рад/с с шагом 1 рад/с на плоскостях s и z, соответственно.

Функции sgrid(z, wn) и zgrid(z, wn) строят сетки постоянных коэффициентов демпфирования и собственных для значений, указанных в векторах z и wn.

Функция zgrid([ ], [ ]) строит окружность единичного радиуса.

Замечание:

Если текущая s или z плоскость содержит расположение нулей и полюсов или график корневого годографа, то команда sgrid строит сетку координат поверх графика.

Пример: построить на s и z плоскости сетки постоянных коэффициентов демпфирования и собственных частот:

»subplot(1, 2, 1),sgrid

»subplot(1, 2, 2),zgrid

20

 

 

 

 

1

 

 

 

 

10

 

 

 

 

0.5

 

 

 

 

0

 

 

 

 

0

 

 

 

 

-10

 

 

 

 

-0.5

 

 

 

 

-20

 

 

 

 

-1

 

 

 

 

-20

-15

-10

-5

0

-1

-0.5

0

0.5

1

bode

Построение логарифмических частотных характеристик

 

 

Синтаксис: bode(sys) bode(sys, w)

bode(sys1, sys2, …, sysN) bode(sys1, sys2, …, sysN, w)

bode(sys1, ‘<тип линии1>’, …, sysN, ‘<тип линииN>’)

[mag, phase, w] = bode(sys)

Группа команд и функций bode предназначена для расчета амплитудных и фазовых логарифмических частотных характеристик (диаграмм Боде) для ltiмоделей. Команды bode строят на экране графики логарифмических частотных характеристик. Функция bode выполняет только расчет характеристик, но графиков не выводит. Логарифмические частотные характеристики применяются при анализе таких свойств систем, как запас устойчивости по фазе и амплитуде, коэффициент передачи, ширина полосы пропускания, реакция системы на возмущения.

Команда bode(sys) строит на экране графики логарифмических частотных характеристик для lti-модели sys. Эта модель может быть непрерывной или дискретной, одномерной или многомерной. В случае многомерной модели функция bode строит множество логарифмических частотных характеристик для каждого канала системы от входа к выходу. Диапазон частот определяется автоматически по значениям нулей и полюсов передаточной функции системы.

Команда bode(sys, w) строит логарифмические частотные характеристики в заданном диапазоне частот. Этот диапазон должен быть задан массивом ячеек w = {wmin, wmax}. Для построения логарифмических частотных характеристик на заданных частотах создается вектор значений частот w. Для создания логарифмической сетки следует применить команду logspace. Единица измерения частоты - рад/с.

Команды bode(sysl, sys2,..., sysN), bode(sysl, sys2,..., sysN, w) позволяют построить частотные характеристики для нескольких lti-моделей на одном

Источник: https://studfile.net/preview/16565812/