Линейные системы управления в пакете MATLAB
Покупка
Издательство:
Издательство Уральского университета
Год издания: 2018
Кол-во страниц: 76
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7996-2385-2
Артикул: 799111.01.99
Доступ онлайн
В корзину
Учебное пособие предназначено для первоначального знакомства с современным интерактивным пакетом MATLAB, применяемым в инженерном деле, в математике и экономике. В него включены элементарные сведения по работе с векторами и матрицами, рассмотрены арифметические операции и функции. Приводятся сведения, позволяющие использовать богатые возможности пакета по графическому представлению данных. Рассмотрены примеры моделирования и проектирования простейших регуляторов с использованием MATLAB/SIMULINK. В пособие включены также основные принципы синтеза регуляторов систем подчинённого регулирования и приведены данные по типовым переходным функциям этих систем. Представлены основные команды, позволяющие работать с матрицами и структурами, которые представляют объекты из области теории управления техническими системами. Пособие предназначено для студентов всех форм обучения по направлению подготовки 13.03.02 — Электроэнергетика и электротехника.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Министерство образования и науки Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина Г. Б. Смирнов В. Г. Томашевич ЛИНЕЙНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ В ПАКЕТЕ 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
2.2. Определение переменных как скаляров, векторов или матриц Следует сказать, что сами вычисления в пакете выполняются с двойной точностью. 2.2. Определение переменных как скаляров, векторов или матриц При задании величин в виде векторов или матриц следует иметь в виду, что эти величины должны быть взяты в квадратные скобки. Число пи задано константой pi. Задание простых величин: скаляров, векторов, матриц >>8 ans=8 При задании числа и последующем нажатии клавиши Enter MAT- LAB присвоит величину временной переменной ans (сокращение от английского answer) >>a=8 a=8 Обычно MATLAB повторяет содержание переменной в окне >>a=8; Повторная выдача переменной в окне подавляется, если после значения переменной поставить точку с запятой >>a=8, b=4 a=8 b=4 При разделении переменных запятой они повторяются в следующих строках, если переменные не заканчиваются точкой с запятой >>a=8; b=3; Если заданные в одной строке переменные разделяются точкой с запятой, то они повторно не выводятся Задание векторов‑столбцов >>x=[3;4;5]; Завершение вектора-столбца точкой с запятой подавляет повторный вывод вектора >>x=[3;4;5] x=3 4 5 При отсутствии точки с запятой после угловых скобок вектор- столбец будет повторно выдан на экран. Иногда это хорошо для контроля, но плохо, если вектор-столбец очень длинный Задание векторов–строк >>y=[1 2 3 4 5]; Отдельные элементы вектора-строки могут разделяться пробелами или запятыми >>y=[1,2,3,4,5]; Заключительная точка с запятой подавляет повторную выдачу содержания переменных
Глава 2. Числа. Векторы и матрицы >>y=3:6 y=3 4 5 6 Этот оператор задаёт вектор-строку со значениями «от и до» с шагом 1 >>y=1:2:7 y=1 3 5 7 Такой оператор задаёт вектор и его элементы с шагом 2 от 1 до 7. Подобным образом можно задавать векторы с произвольными начальными и конечными значениями и шагом Определение значений элементов матриц >>A=[1 2 3;4 5 6]; Элементы матрицы разделяются пробелами, строки — точкой с запятой >>A=[1 2 3;4 5 6] A=1 2 3 4 5 6 Матрица распечатывается, если не ставится точка с запятой после закрывающей квадратной скобки >>A=[1 2 3 4 5 6] A=1 2 3 4 5 6 Альтернативная форма определения матрицы: в этом случае строки должны заканчиваться нажатием клавиши En- ter A=[1 2 3*4 10/2 3+1 8] A=1 2 12 5 4 8 Элементы матрицы могут также задаваться как результат вычислений >>x=[1;3;5]; >>y=[2;4;6]; >>A=[x y] A=1 2 3 4 5 6 Если х и y матрицы — столбцы равной длины, то можно составить матрицу А, состоящую из столбцов х и y >>x=[0 1 2 3 4]; >>A=[x; x‑1; x*2] A= 0 1 2 3 4 —1 0 1 2 3 0 2 4 6 8 Из нескольких векторов-строк с использованием точки с запятой и арифметических операций можно составить матрицу Извлечение элементов, строк и столбцов из матрицы >>x=A(2,3) x=1 Пример извлечения элемента матрицы А из строки с номером 2 и столбца с номером 3 >> x=A(:,2) x=1 0 2 Пример формирования вектора-столбца из столбца с номером 2 матрицы А
Доступ онлайн
В корзину