Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Линейные системы управления в пакете MATLAB

Покупка
Артикул: 799111.01.99
Доступ онлайн
250 ₽
В корзину
Учебное пособие предназначено для первоначального знакомства с современным интерактивным пакетом MATLAB, применяемым в инженерном деле, в математике и экономике. В него включены элементарные сведения по работе с векторами и матрицами, рассмотрены арифметические операции и функции. Приводятся сведения, позволяющие использовать богатые возможности пакета по графическому представлению данных. Рассмотрены примеры моделирования и проектирования простейших регуляторов с использованием MATLAB/SIMULINK. В пособие включены также основные принципы синтеза регуляторов систем подчинённого регулирования и приведены данные по типовым переходным функциям этих систем. Представлены основные команды, позволяющие работать с матрицами и структурами, которые представляют объекты из области теории управления техническими системами. Пособие предназначено для студентов всех форм обучения по направлению подготовки 13.03.02 — Электроэнергетика и электротехника.
Смирнов, Г. Б. Линейные системы управления в пакете MATLAB : учебное пособие / Г. Б. Смирнов, В. Г. Томашевич. - Екатеринбург : Изд-во Уральского ун-та, 2018. - 76 с. - ISBN 978-5-7996-2385-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/1936366 (дата обращения: 05.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

Г. Б. Смирнов
В. Г. Томашевич

ЛИНЕЙНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
В ПАКЕТЕ 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 матрицы А

Доступ онлайн
250 ₽
В корзину