Линейные системы управления в пакете MATLAB
Линейные системы управления в MATLAB: Краткий обзор для студентов
Эта книга, предназначенная для студентов направления подготовки "Электроэнергетика и электротехника", представляет собой учебное пособие по основам работы с пакетом MATLAB, широко используемым в инженерном деле, математике и экономике. Пособие знакомит читателей с интерактивным пакетом MATLAB, его возможностями и применением в области линейных систем управления.
Основы работы в MATLAB
Книга начинается с обзора интерфейса MATLAB, включая командное окно, где выполняются вычисления и ввод команд. Описывается команда help
, позволяющая получить доступ к справочной системе и демонстрационным примерам. Рассматриваются основные форматы представления чисел, а также способы определения переменных как скаляров, векторов и матриц. Приводятся примеры создания векторов-столбцов, векторов-строк и матриц, а также извлечения элементов, строк и столбцов из матриц. Рассматриваются команды для сохранения и загрузки переменных.
Арифметические операции и функции
В книге рассматриваются основные арифметические операции для скалярных величин, тригонометрические и элементарные функции, операции отношений. Подробно описываются матричные операции, включая сложение, вычитание, умножение, деление, транспонирование и вычисление обратной матрицы. Рассматриваются примеры построения графиков функций с использованием команды plot
, а также различные типы масштабирования осей и возможности оформления графиков.
Программирование в MATLAB
Особое внимание уделяется программированию в MATLAB с использованием М-файлов. Описывается использование редактора М-файлов для создания программ, основные типы данных, модули программ (скрипты и функции), запись текстов для М-файлов и основные операторы MATLAB (ввода-вывода, циклы for
и while
, условный оператор if
). Приводятся примеры создания и вызова функций.
Введение в Control Toolbox
Книга знакомит с Control Toolbox, набором инструментов MATLAB для работы с системами управления. Рассматриваются передаточные функции, их задание и представление в MATLAB, графические возможности представления передаточных функций (диаграммы Боде, Найквиста, переходные процессы), а также вычисление характеристик передаточных функций (нули, полюса). Описываются соединения блоков (последовательное, параллельное, с обратной связью).
Введение в SIMULINK
Книга содержит введение в SIMULINK, графическую среду моделирования систем управления. Рассматриваются основные сведения о SIMULINK, краткое описание важнейших блоков (источники сигналов, приёмники, элементарные блоки, математические операции, маршрутизация сигналов, регуляторы). Приводятся примеры моделирования в SIMULINK и полезные приёмы при моделировании, а также способы представления данных с помощью "осциллографа" (Scope).
Пример проектирования регулятора
Рассматривается пример проектирования регулятора с использованием MATLAB, включая определение устойчивости системы регулирования с помощью частотных характеристик (диаграмм Боде).
Проектирование регуляторов подчиненного типа
Книга завершается рассмотрением проектирования регуляторов подчиненного типа, широко используемых в промышленных системах регулирования. Рассматривается трехконтурная система подчиненного регулирования, порядок синтеза регуляторов ПСР и общие принципы построения и свойства ПСР.
Текст подготовлен языковой моделью и может содержать неточности.
Министерство образования и науки Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина Г. Б. Смирнов В. Г. Томашевич ЛИНЕЙНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ В ПАКЕТЕ MATLAB Учебное пособие Рекомендовано методическим советом Уральского федерального университета для студентов вуза, обучающихся по направлению подготовки 13.03.02 — Электроэнергетика и электротехника Екатеринбург Издательство Уральского университета 2018
УДК 681.511.2:004.4(075.8) ББК 32.972я73+32.965.4я73 С50 Авторы: Г. Б. Смирнов, В. Г. Томашевич Рецензенты: доц., канд. физ.-мат. наук А. В. Кибардин (кафедра «Информационные технологии и защита информации» УрГУПС); завкафедрой «Электроэнергетика» УГЛТУ проф., д-р техн. наук С. М. Шанчуров) Научный редактор — проф., д-р техн. наук В. Э. Фризен Смирнов, Г. Б. С50 Линейные системы управления в пакете MATLAB : учебное пособие / Г. Б. Смирнов, В. Г. Томашевич. — Екатеринбург : Изд-во Урал. ун-та, 2018. — 76 с. ISBN 978-5-7996-2385-2 Учебное пособие предназначено для первоначального знакомства с современным интерактивным пакетом MATLAB, применяемым в инженерном деле, в математике и экономике. В него включены элементарные сведения по работе с векторами и матрицами, рассмотрены арифметические операции и функции. Приводятся сведения, позволяющие использовать богатые возможности пакета по графическому представлению данных. Рассмотрены примеры моделирования и проектирования простейших регуляторов с использованием MATLAB/SIMULINK. В пособие включены также основные принципы синтеза регуляторов систем подчинённого регулирования и приведены данные по типовым переходным функциям этих систем. Представлены основные команды, позволяющие работать с матрицами и структурами, которые представляют объекты из области теории управления техническими системами. Пособие предназначено для студентов всех форм обучения по направлению подготовки 13.03.02 — Электроэнергетика и электротехника. Библиогр.: 11 назв. Рис. 7. УДК 681.511.2:004.4(075.8) ББК 32.972я73+32.965.4я73 ISBN 978-5-7996-2385-2 © Уральский федеральный университет, 2018
Введение У истоков MATLAB стоял Клив Молер (Cleve Moler), работавший в 1970-х гг. в университете Нью Мехико (New Mexico). Сначала он хотел обеспечить своим студентам комфортный доступ к библиотекам линейной алгебры Linpack и Eispack, написанным на языке программирования FORTRAN таким образом, чтобы для этого не требовалось серьёзных знаний в программировании. В дальнейшем, в 1984 г. Клив Молер вместе с Джеком Литтлом (Jack Little) и Стивом Бангертом (Steve Bangert) основал в Натике (Natick, Massachusetts, USA) фирму The Mathworks, которая превратила MATLAB в коммерческий продукт и стала развивать его дальше. За прошедшее с тех пор время MATLAB превратился в универсальный инструмент инженера и учёного. Сегодня это своеобразный язык программирования, предназначенный для решения математических, физических и научно-технических задач. Сегодня MATLAB — это язык программирования четвертого поколения, главной особенностью которого является возможность быстро составлять эффективные прикладные программы. Он оптимизирован для работы с матрицами и выполнения численных расчётов и своё название берёт от слов Matrix Laboratory. SIMULINK — расширение MATLAB, позволяющее создавать модели, базирующиеся на использовании дифференциальных уравнений и графических блоков, как это бывает, например, в теории систем, теории управления и теории обработки сигналов [1, 2, 4, 5]. Сегодня MATLAB/SIMULINK — это интерактивный пакет для вычислений в инженерной практике, по факту являющийся международным стандартом для моделирования технических систем не только в высшей школе, но и в промышленности. Объём функций пакета можно расширить благодаря применению добавочных пакетов Toolbox (MATLAB) и Blockset (SIMULINK), при
Введение чём эти функции и блоки используются для определённых научных дисциплин. В качестве примера можно упомянуть: · пакет идентификации систем; · пакет по обработке сигналов и изображений; · пакет по вейвлетам; · пакет по финансово-экономическим расчетам; · пакет для построения нейронных сетей; · пакет, относящийся к теории размытых множеств; · пакет SimPowerSystem по моделированию в электроэнергетике; · пакет SimMechanics по моделированию в механике · и т. д. Некоторые пакеты оказались настолько интегрированными с системой MATLAB, что стали её составной частью. Это относится к уже упомянутому пакету SIMULINK (управление) и Notebook (интеграция с текстовым процессором, что позволяет создавать электронные документы и книги с примерами математических расчетов и высокой степенью графической визуализации всех этапов решения задачи). MATLAB предоставляет следующие возможности: · интерактивная работа с помощью интерпретирующего языка через командное окно Command Window; · альтернативное использование М‑файлов, содержащих команды MATLAB; · использование в моделировании так называемых Toolbox-ов, которые являются готовыми М-файлами и могут использоваться как дополнение к обычным командам MATLAB, предлагая наборы команд в специальных областях. Специальным Toolbox-ом является, например, средство моделирования SIMULINK, с помощью которого могут быть составлены модели из готовых графических блоков. Примером является также инструмент Control Toolbox, команды которого используются при моделировании в области атоматического управления. Другим примером является средство Signal Processing Toolbox, которое используется для обработки сигналов. Особенное значение в MATLAB имеет работа с матрицами. Отсюда вытекают некоторые особенности при работе в пакете. Важным достоинством системы MATLAB является ее открытость и расширяемость. Большинство команд и функций данной системы
оформлены в виде текстовых файлов (М‑файлов) и файлов на языке С (С++). Пользователь может их модифицировать и создавать новые. Также в MATLAB есть возможность объединения системы с пакетом символьной математики Maple, пакетом Excel и некоторыми другими. Области применения пакета: · математические вычисления; · разработка алгоритмов; · моделирование; · накопление, анализ и обработка данных: оценка и визуализация результатов; · вычислительный эксперимент, имитационное моделирование, макетирование; · использование графики в математике и технике; · разработка приложений, в том числе с графическим интерфейсом [1–3]. Данное учебное пособие адаптировано для решения задач управления в электротехнике. Примечание. Фирма The Mathworks предлагает студенческую версию своего продукта (MATLAB): (http://www.mathworks.com).
Глава 1. Основы работы с MATLAB 1.1. Интерактивная работа в командном окне пакета MATLAB Command Window З апуск системы осуществляется стандартным для Windows способом (двойной щелчок левой клавишей мыши на ярлыке MATLAB в рабочем меню операционной системы). После запуска программы MATLAB на дисплее компьютера появляется ее главное окно (рис. 1.1), и система готова к проведению вычислений в командном режиме. Рис. 1.1. Командное окно MATLAB
1.2. Описание команды help MATLAB Все команды и определения переменных задаются в командном окне MATLAB после символов >>. Обычно командное окно занимает правую половину экрана. Если это не так, то стандартное представление может быть восстановлено следующей последовательностью команд: Desktop ® Desktop Layout ® Default. 1.2. Описание команды help MATLAB Пункт меню help позволяет воспользоваться подробной справочной системой и демонстрационными примерами. На эти примеры можно также выйти, набрав в командном окне команду demo. В демонстрационных примерах содержится большое число серьезных задач. При необходимости можно ознакомиться с файлами примеров и даже перенести тексты программ в командное окно MATLAB, используя буфер промежуточного хранения. Чтобы получить справку по какому-либо объекту, необходимо в командном окне набрать: help <имя объекта>. Если нет уверенности в правильном написании имени объекта или оно неизвестно, можно использовать поиск по ключевому слову или по последовательности слов. Команда help осуществляет вызов всех каталогов help, которые имеются в MATLAB, в числе которых, например, может находиться каталог matfun, где находятся функции линейной алгебры [2–4]. Можно распечатать все функции этого каталога, если использовать команду help matfun. Соответственно, help elfun распечатает список элементарных функций и т. д. Команда help log — это уже вызов помощи по определённой функции. Для получения справки можно использовать также команду lookfor; есть возможность использовать окно help рабочего стола MATLAB и т. д. Примечание. Поиск помощи по команде возможен, если команда известна, в противном случае возникают затруднения. Для облегчения поиска важнейшие команды MATLAB и Toolbox‑ов из области теории управления представлены в Приложении 2. С помощью команд из этого списка можно решить большинство задач, встречающихся в практике обучения высшей школы по курсу «Основы теории управления».
Глава 2. Числа. Векторы и матрицы О сновополагающая структура в MATLAB — комплексная матрица [1–3]. Все другие структуры, такие, как векторы и скаляры, — частные случаи матрицы. Некоторые параметры специальных функций также представлены векторами. Измеряемые величины обрабатываются и хранятся как векторы или матрицы. Матрицы в MATLAB задаются определённым образом. 2.1. Форматы чисел Сначала необходимо сказать об основных формах представления чисел в MATLAB. Возможны следующие представления: 4; –34; 0.0012; 8.5; 67; –4; 1.56Е-1; 14.5е8. Из приведённых примеров становятся ясны основные правила записи чисел. Следует обратить внимание на то, что при задании чисел в экспоненциальном формате нельзя ставить пробелы перед Е(е). Неверной была бы, например, запись 5.6 Е-7. Порядок чисел в MATLAB от 10Е-308 до 10Е+308. При использовании комплексных чисел возможно применение в качестве мнимой единицы i или j: (5+3*i–7*j). В пакете используются различные форматы при работе с числами, т. е. числа на экране могут быть представлены различным числом значащих цифр. Формат может быть изменен с помощью специальных команд, но стандартным форматом является short. Следующие примеры показывают правила применения форматов: Формат (команда) Представление числа 4/3 Представл. числа 1.2345е-6 format short 1.3333 0.0000 format short e 1.3333E+000 1.2345E-006 format long 1.3333333333333338 0.000001234500000 format long e 1.3333333333333338E+000 1.234500000000000E-006 format hex 3FF555555555555555 3EB4B6231ABFD271