Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4241, 4242(ТАУ-без MATLAB)_1 / Романовский. ТАУ. ЛабПр. Ч.1 [2011]

.pdf
Скачиваний:
39
Добавлен:
17.04.2015
Размер:
705.72 Кб
Скачать

Министерство образования и науки Российской Федерации Государственное образовательное учреждение

высшего профессионального образования «Камская государственная инженерно-экономическая академия»

Э. А. Романовский

ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

ЧАСТЬ 1

Набережные Челны

2011

УДК 519.71(075.9); 681.5

Романовский Э. А. Теория автоматического управления: лабораторный практикум. Часть 1. / Э. А. Романовский. – Набережные Челны: Изд-во Камской государственной инженерно-экономической академии, 2011. – 71 с.: ил. – Библиогр.: 13 назв.

Настоящий лабораторный практикум содержит комплекс работ, позволяющих приобрести навыки исследования систем автоматического управления с применением компьютерной среды MATLAB. Пособие призвано дать лицам, изучающим теорию автоматического управления, возможность приобретения навыков компьютерного моделирования, а также анализа и синтеза систем автоматического управления на ЭВМ.

Практикум содержит лабораторные работы и включает: теоретические сведения по излагаемым вопросам, задания с исходными данными, представленными в 30 вариантах, а также контрольные вопросы.

Настоящий практикум предназначен для студентов специальности 220301.65 - «Автоматизация технологических процессов и производств», а также для студентов других специальностей.

Рецензент: Зубков Е. В., канд. техн. наук, доцент.

Печатается по решению научно-методического совета Камской государственной инженерно-экономической академии.

© ГОУ ВПО «Камская государственная инженерноэкономическая академия», 2011 год.

© Э. А. Романовский, 2011 год.

- 2 -

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ .......................................................................................

3

РАБОТА №1. ЗНАКОМСТВО С КОМПЬЮТЕРНОЙ СРЕДОЙ MATLAB 5

1.1. Общие сведения о среде MATLAB .......................................

5

1.1.1.

Вводная информация........................................................................

5

1.1.2. Работа с векторами и матрицами...................................................

10

1.1.3.

Работа с полиномами......................................................................

14

1.2. Задания...................................................................................

15

1.3. Контрольные вопросы..........................................................

19

РАБОТА №2. МОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ

 

 

СИСТЕМ С ПОМОЩЬЮ ПЕРЕДАТОЧНЫХ ФУНКЦИЙ.......

21

2.1. Общие сведения об LTI-объектах, представленных в виде

передаточных функций.........................................................

21

2.1.1.

Вводная информация......................................................................

21

2.1.2. Создание и преобразование lti-объектов ......................................

22

2.1.3. Создание более сложных lti-объектов...........................................

24

2.2. Задания...................................................................................

25

2.3. Контрольные вопросы..........................................................

27

РАБОТА №3. МОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ

 

 

СИСТЕМ В ПРОСТРАНСТВЕ СОСТОЯНИЙ ........................

28

3.1. Общие сведения об LTI-объектах, представленных в

 

пространстве состояний.......................................................

28

3.1.1.

Вводная информация......................................................................

28

3.1.2. Создание и преобразование lti-объектов ......................................

30

3.1.3. Создание более сложных lti-объектов...........................................

32

3.2. Задания...................................................................................

33

3.3. Контрольные вопросы..........................................................

33

РАБОТА №4. ОПРЕДЕЛЕНИЕ ВРЕМЕННЫХ ХАРАКТЕРИСТИК

 

 

ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ.............................

34

4.1. Общие сведения о временных характеристиках................

34

4.1.1.

Вводная информация......................................................................

34

4.1.2.

Построение временных характеристик ........................................

36

4.2. Задания...................................................................................

41

4.3. Контрольные вопросы..........................................................

41

- 3 -

РАБОТА №5. ОПРЕДЕЛЕНИЕ ЧАСТОТНЫХ ХАРАКТЕРИСТИК

 

ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ.............................

43

5.1. Общие сведения о частотных характеристиках.................

43

5.1.1.

Вводная информация......................................................................

43

5.1.2.

Построение частотных характеристик..........................................

46

5.2. Задания...................................................................................

48

5.3. Контрольные вопросы..........................................................

48

РАБОТА №6. МОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ

 

 

СИСТЕМ СРЕДСТВАМИ ПАКЕТА SIMULINK .....................

50

6.1. Общие сведения об имитационном моделировании

 

средствами пакета Simulink .................................................

50

6.1.1.

Вводная информация......................................................................

50

6.1.2. Проведение процесса имитационного моделирования...............

50

6.2. Задания...................................................................................

54

6.3. Контрольные вопросы..........................................................

62

РАБОТА №7. ТИПОВЫЕ ДИНАМИЧЕСКИЕ ЗВЕНЬЯ СИСТЕМ

 

 

УПРАВЛЕНИЯ ....................................................................

63

7.1. Общие сведения о типовых динамических звеньях..........

63

7.1.1.

Вводная информация......................................................................

63

7.1.2. Модели типовых динамических звеньев......................................

63

7.2. Задания...................................................................................

65

7.3. Контрольные вопросы..........................................................

68

РАБОТА №8. ИССЛЕДОВАНИЕ ТИПОВЫХ ЗВЕНЬЕВ ПРИ РАЗЛИЧНЫХ

 

ИХ СОЕДИНЕНИЯХ ...........................................................

69

8.1. Общие сведения о возможных соединениях типовых

 

динамических звеньев..........................................................

69

8.2. Задания...................................................................................

69

8.3. Контрольные вопросы..........................................................

70

СПИСОК ЛИТЕРАТУРЫ .......................................................................

71

- 4 -

Работа №1. ЗНАКОМСТВО С КОМПЬЮТЕРНОЙ СРЕДОЙ

MATLAB

Цель лабораторной работы: получить первоначальные сведения

инавыки работы с компьютерной средой MATLAB.

1.1.ОБЩИЕ СВЕДЕНИЯ О СРЕДЕ MATLAB

1.1.1. Вводная информация

MATLAB – это интерактивная компьютерная среда для выполнения разнообразных инженерных и научных расчетов. MATLAB можно также назвать средой компьютерного моделирования.

Ванглоязычной литературе название компьютерной среды MATLAB расшифровывается как Matrix Laboratory - матричная лаборатория. Связано это с тем, что изначально среда MATLAB была предназначена для автоматизации сложных матричных вычислений. Со временем благодаря появлению и развитию поддержки различных числовых типов и структур данных, а также операций над такими данными, в среде MATLAB стала возможной автоматизация очень разнообразных математических преобразований и вычислений. Например, MATLAB поддерживает операции с комплексными числами, числовыми векторами и матрицами, многомерными числовыми массивами, полиномами, многомерными массивами ячеек и пр.

Возможности среды MATLAB весьма обширны, а по скорости выполнения математических операций MATLAB, как правило, превосходит своих конкурентов. В настоящее время среда MATLAB применима для автоматизации математических расчетов практически в любой области науки и техники.

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

Вобширном и постоянно пополняемом комплексе команд, функ-

-5 -

ций и пакетов среда MATLAB имеет, в частности, специальные средства для автоматизации электротехнических и радиотехнических расчетов (например, средства для анализа и обработки сигналов, средства цифровой фильтрации сигналов и пр.). Также MATLAB содержит средства для обработки изображений, средства для реализации нейронных сетей, средства для создания систем нечёткой логики и прочие средства.

Важными достоинствами среды MATLAB являются ее открытость и расширяемость. Основу среды составляет ядро, написанное преимущественно на языке C++ с целью повышения быстродействия самой среды. Большинство команд и функций среды MATLAB реализовано в виде текстовых M-файлов (файлов с расширением «.m»), содержащих тексты программ и подпрограмм, написанных на специальном языке программирования среды, который называется – язык программирования MATLAB. Содержимое всех исходных файлов компьютерной среды MATLAB в принципе доступно для модернизации.

Обычно подпрограммы (функции), заранее созданные разработчиками среды MATLAB или создаваемые пользователем в среде MATLAB, называют M-функциями, т. к. содержимое каждой такой подпрограммы сохраняется в отдельном файле с расширением «.m».

Коллекции M-файлов для решения определенного круга родственных задач принято называть Toolboxes (пакеты; от двух слов Tool – инструмент и Box – коробка).

В настоящем лабораторном практикуме будут рассматриваться в основном лишь возможности среды MATLAB применительно к теории автоматического управления (ТАУ) [8, 9, 10, 11, 12, 13]. Более подробно сведения об использовании среды MATLAB в объёме, достаточном для применения студентом при решении большинства встречающихся в его практике задач, приведены в [1]. Сведения, встречающиеся в практике студента при решении задач ТАУ, наиболее подробно изложены в [2]. Ещё более детальные сведения об использовании среды MATLAB, связанные, например, с визуальным моделированием, с применением различных инструментальных средств среды, с программированием в среде на языке MATLAB, можно найти в [3, 4, 5, 6].

Существует несколько способов взаимодействия со средой MATLAB. Старейшим и, пожалуй, простейшим способом взаимодействия со средой является способ командной строки.

После запуска среды становится доступным командное окно (внешне оно подобно командному окну операционных систем Windows или командному окну операционных систем, построенных на ядре Linux). В этом окне появляется приглашение для ввода команд

- 6 -

(»). Пользователь вводит очередную команду на языке программирования MATLAB и нажимает клавишу «Enter». После этого среда MATLAB выводит в командном окне результат выполнения введённой пользователем команды и снова отображает приглашение для ввода следующей команды (»). Пользователь всегда может очистить содержимое командного окна вводом команды clc. При этом содержимое рабочего пространства (Workspace) среды MATLAB не очищается.

Под содержимым рабочего пространства среды понимается область памяти, в которой хранится весь набор объектов созданных пользователем в период работы со средой MATLAB. Пользователь создаёт эти объекты, применяет их для решения своих задач и в случае необходимости удаляет их из рабочего пространства среды. По завершении работы среды MATLAB содержимое рабочего пространства уничтожается автоматически.

Доступ к объектам рабочего пространства (часто их называют переменными, но это не совсем верно, т. к. в среде MATLAB можно создавать и константные объекты) осуществляется по их именам. Правила именования объектов в среде MATLAB аналогичны правилам именования объектов в алгоритмических языках программирования, таких как C++, Pascal и пр. Вот основные, наиболее важные, из этих правил:

1. Имена объектов могут содержать заглавные и строчные символы латинского алфавита (A, … Z, a, … z), а также символы арабских цифр (0, … 9) и знак подчёркивания (_). При этом значимыми являются только первые 31 символ, остальные символы в именах средой игнорируются.

2.Имена объектов могут начинаться только с символа латинского алфавита (т. е. с буквы). Символ знака подчёркивания в среде MATLAB буквой не считается (в отличие от многих языков программирования).

3.В именах объектов различаются строчные и заглавные символы

алфавита, т. е. Alpha123, alpha123 и ALPHA123 – это всё разные имена. Как правило, имена функций (подпрограмм) среды MATLAB записываются с использованием строчных символов алфавита.

Примеры создания объектов:

»a1 = 10 % Создание объекта, хранящего

%целое число.

a1 =

10

- 7 -

»b2 = 15.13 % Создание объекта, хранящего

%вещественное число.

b2 =

15.1300

»d5 = 3 + 5i % Создание объекта, хранящего

%комплексное число.

d5 =

3.0000 + 5.0000i

Как видно из примеров, для разделения целой и дробной частей в вещественных числах применяется символ «.». Примеры также демонстрируют добавление в командах поясняющих однострочных комментариев. Для этого в командах используется символ процента (%). Подобным образом создаются комментарии и в текстах программ/подпрограмм на языке MATLAB.

У целых чисел отсутствуют дробные части, однако такие числа всё равно представляются в среде MATLAB на машинном уровне в той же форме, что и вещественные числа. Этот основной тип данных (часто его называют типом вещественных чисел с плавающей точкой) в среде MATLAB называется double. Подобный тип поддерживается практически любым алгоритмическим языком программирования. Как правило, среда MATLAB выделяет 8 байт для хранения такого вещественного числа в памяти. Однако количество байт, выделяемых средой MATLAB под вещественные числа, может быть и другим. Это зависит от применяемых: аппаратного обеспечения, операционной системы и версии среды MATLAB.

Ниже приведены некоторые примеры записи литералов вещественных чисел, допускаемые в среде MATLAB.

2.851324764e12; 0; -456.87594363; 0.005759436e0; 187e-1; 0.0; 6.5454E-2; .0; 456.876; -123; 0.134343;

.525252; -.0002662626

Среда MATLAB поддерживает вычисления, как с вещественными, так и с комплексными числами. Для хранения в своём рабочем пространстве объектов, содержащих комплексные числа, среда, естественно, расходует в два раза больше памяти, чем для хранения объектов, содержащих вещественные числа.

- 8 -

Ниже приведены некоторые примеры записи литералов вещественных чисел, допускаемые в среде MATLAB.

2 + 3i; -7.689 + 0.865*i; 4 – 2.2j; .2 + i; -j; -.00333i

Как видно, для записи пользователем мнимой единицы зарезервированы на выбор две буквы: i и j. Однако самой средой для обозначения мнимой единицы при отображении результатов вычислений используется именно буква i.

Отобразить в командном окне содержимое какого-либо ранее созданного объекта очень просто. Для этого достаточно вести имя интересующего объекта и нажать клавишу «Enter». Пример:

»e2 = 5.5;

% ...

»e2

e2 =

5.5000

В любой момент рабочее пространство среды можно сохранить в некотором файле с расширением «.mat». Для этого можно использовать пункт меню «File | Save Workspace As…» или команду save. При этом по умолчанию используется имя файла matlab.mat. Сам файл создаётся в папке по умолчанию. Также в любой момент можно восстановить ранее сохранённое рабочее пространство из файла с расширением «.mat». Для этого можно применить пункт меню «File | Load Workspace…» или команду load. Здесь также по умолчанию используется имя файла matlab.mat. При этом не восстанавливается содержимое командного окна, а лишь восстанавливаются объекты рабочего пространства, сохранённые в файле. Само содержимое рабочего пространства всегда можно посмотреть и даже изменить при помощи специального визуального средства, доступного через пункт меню

«File | Show Workspace».

В конце команды пользователь может добавить символ «;». Этим самым он указывает среде MATLAB, что ей следует подавить вывод результата выполнения вводимой в данный момент пользователем команды. В итоге среда выполнит введённую пользователем команду, но не выведет результат её выполнения, а вместо этого просто снова отобразит приглашение для ввода следующей команды (»). Это удобно то-

- 9 -

гда, когда пользователь и так хорошо представляет, каков будет результат выполнения вводимой им команды. Пример:

»a1 = 10; % Создание объекта, хранящего целое число.

»b2 = 15.13; % Создание объекта, хранящего

%вещественное число.

»d5 = 3 + 5i; % Создание объекта, хранящего

%комплексное число.

Если вводимая пользователем команда является слишком длинной, то её можно разделить на несколько строк, добавляя в конце каждой строки троеточие (сочетание из трёх символов точки «.»). Пример:

» S = 1 – 1/2 + 1/3 – 1/4...

– 1/8 + 1/9 – 1/10;

Можно в среде MATLAB сохранять в разные файлы, а также восстанавливать из разных файлов отдельные объекты. Например:

save

temp X;

% Сохранение переменной X в файл temp.mat.

save

tmp X Y Z; %

Сохранение переменных X, Y, Z в файл

 

 

%

tmp.mat.

% ...

load tmp X Y; % Восстановление двух объектов из файла

%tmp.mat.

Для удаления объектов из рабочего пространства можно использовать команду clear. Пример:

clear X Y

%

Удаляются только переменные X и Y.

clear

%

Очистка всего рабочего пространства.

1.1.2.Работа с векторами и матрицами

Всреде MATLAB производить вычисления с наборами вещественных и комплексных чисел (векторами, матрицами и прочими массивами) также легко, как и с одиночными числами. Эта особенность является одним из самых заметных и важных преимуществ среды MATLAB по сравнению с другими средами, ориентированными на компьютерное моделирование.

Простейшими наборами вещественных и комплексных чисел в среде являются векторы-строки и векторы-столбцы. Оба набора пред-

-10 -

Соседние файлы в папке 4241, 4242(ТАУ-без MATLAB)_1