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

Моделирование матричных уравнений в задачах управления на базе MatLabSimulink. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
А.А. ВОЕВОДА, Г.В. ТРОШИНА
МОДЕЛИРОВАНИЕ
МАТРИЧНЫХ УРАВНЕНИЙ
В ЗАДАЧАХ УПРАВЛЕНИЯ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
2015
1
УДК 004.422.632+681.5.015.4](075.8) В 63
Рецензенты:
д-р техн. наук, профессор Гужов В.И.
д-р техн. наук, профессор Пасынков Ю.А.
Воевода А.А.
В 63 Моделирование матричных уравнений в задачах управления на базе
MatLab/Simulink : учебное пособие / А.А. Воевода, Г.В. Трошина. – Новосибирск : Изд-во НГТУ, 2015. – 48 с.
ISBN 978-5-7782-2793-4
Представлены основные приемы моделирования матричных уравнений в задачах управления на базе MatLab/Simulink. Учебное пособие предназначено для студентов, обучающихся по направлениям 09.03.01 – «Информатика и вычислительная техника», 09.03.04 – «Программная инженерия», 27.03.04 – «Управление в технических системах».
Работа подготовлена на кафедре автоматики
Воевода Александр Александрович
Трошина Галина Васильевна
МОДЕЛИРОВАНИЕ МАТРИЧНЫХ УРАВНЕНИЙ
В ЗАДАЧАХ УПРАВЛЕНИЯ НА БАЗЕ MatLab/Simulink
Учебное пособие
В авторской редакции
Выпускающий редактор И.П. Брованова
Корректор Л.Н. Киншт
Дизайн обложки А.В. Ладыжская
Компьютерная верстка Л.А. Веселовская
Налоговая льгота – Общероссийский классификатор продукции
___________________________________________________________________________________
Подписано в
Уч.-изд. л. 2,79. Печ. л. 3,0. Изд. № 245. Заказ № 1613. Цена договорная
___________________________________________________________________________________
Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
печать 17.11.2015. Формат 60 × 84 1/16. Бумага офсетная. Тираж 150 экз.
Отпечатано в типографии
Новосибирского государственного технического университета
630073, г. Новосибирск, пр. К. Маркса, 20
УДК 004.422.632+681.5.015.4](075.8)
ISBN 978-5-7782-2793-4 © Воевода А.А., Трошина Г.В., 2015
© Новосибирский государственный
технический университет, 2015
2
ОГЛАВЛЕНИЕ
Предисловие ............................................................................................................. 4
1. Операции с векторами и матрицами в режиме прямых вычислений .............. 5
1.1 Основные матричные операции .................................................................... 5
1.2. Создание матриц специального вида ........................................................... 9
Контрольные вопросы и задания .......................................................................... 14
2. Формирование векторов и матриц в среде Simulink ...................................... 15
2.1. Элементы библиотеки Simulink .................................................................. 15
2.2. Построение объекта в пространстве состояний ....................................... 24
2.3. Синтез наблюдателя .................................................................................... 28
Контрольные вопросы и задания .......................................................................... 30
3. Реализация фильтра Калмана в среде Simulink ............................................... 31
3.1. Непрерывная
3.2. Дискретная фильтрация ............................................................................... 33
3.3. Построение фильтра Калмана ..................................................................... 34
Контрольные вопросы и задания .......................................................................... 38
4. Наблюдатель полного порядка ......................................................................... 39
Контрольные вопросы ........................................................................................... 41
5. Наблюдатель пониженного порядка ................................................................ 42
Контрольные вопросы ........................................................................................... 45
Библиографический список .................................................................................. 46
фильтрация............................................................................ 31
3
ПРЕДИСЛОВИЕ
Учебное пособие содержит изложение основных приемов моделиро-
вания матричных уравнений в задачах управления на базе MatLab/Si-
mulink.
Учебное пособие рассчитано на студентов всех форм обучения направлений «Информатика и вычислительная техника», «Програм­мная инженерия», «Управление в технических системах».
Цель написания данного учебного пособия – дать теоретическую базу, необходимую для выполнения лабораторных
, контрольных и расчетно-графических работ по курсам «Основы теории управления», «Теория автоматического управления», «Спецглавы математики».
В научных и инженерно-технических кругах в последнее время по­лучили широкое распространение различные математические системы (см., например, работу [1]). В отличие от большинства математических пакетов MatLab является открытой системой, а по скорости решения задач MatLab превосходит
многие другие системы, что делает MatLab
незаменимым инструментом при проведении научных исследований.
Каждый из разделов учебного пособия включает в себя примеры, контрольные вопросы, необходимые для более глубокого понимания излагаемого материала и получения практических навыков его исполь­зования.
Основное внимание уделено вопросам построения динамической системы в пространстве состояний, формирования схемы фильтрации по Калману
с использованием нормированной обновленной последо­вательности, вычисления наблюдателя полного порядка и наблюдателя пониженного порядка.
Учебное пособие может быть использовано при выполнении лабо-
раторных и контрольных работ по всем вышеуказанным дисциплинам.
4
1. ОПЕРАЦИИ С ВЕКТОРАМИ И МАТРИЦАМИ В РЕЖИМЕ ПРЯМЫХ ВЫЧИСЛЕНИЙ
1.1. ОСНОВНЫЕ МАТРИЧНЫЕ ОПЕРАЦИИ
В среде MatLab широко используются векторы и матрицы. Отме­тим, что необходимо различать заглавные и прописные буквы (так, например, k и K являются разными переменными). При вводе векторов или матриц их элементы требуется заключить в квадратные скобки. На рис. 1.1 приведена команда для ввода вектора-строки размером 1 × 3, при этом элементы строки казан ввод вектора-столбца размером 1×3, при этом элементы разде­ляют точкой с запятой.
отделены пробелами. На рис. 1.2 по-
Рис. 1.1. Ввод вектора-строки Рис. 1.2. Ввод вектора-столбца
Из командной строки, как правило, осуществляют ввод небольших по размеру матриц.
На рис. 1.3 осуществляется ввод матрицы из командной строки. Сама матрица рассматривается как вектор-столбец, каждый элемент которого является вектор-строкой. На рис. 1.4 матрица трактуется как
5
вектор-строка, каждый элемент которой является вектор-столбцом. Доступ к элементам матриц выполняется при указании двух индек­сов – номеров строки и столбца, заключенных в круглые скобки. Для выделения из матрицы столбца или строки требуется указать в каче­стве одного из индексов номер столбца или номер строки матрицы, а в качестве
другого индекса используется двоеточие. На рис. 1.5 в каче­стве вектора x используется третья строка матрицы B. На рис. 1.6 вы­полнено выделение блоков матрицы с помощью двоеточия.
Рис. 1.3. Матрица как вектор-столбец Рис. 1.4. Матрица как вектор-строка
Рис. 1.5. Выделение строки матрицы Рис. 1.6. Выделение блоков матрицы
6
На рис. 1.7 изображены переменные рабочей среды, выведенные с
помощью команды whos.
Рис. 1.7. Переменные рабочей среды
При выполнении матричных операций необходимо учитывать, что при сложении или вычитании матрицы должны иметь одинаковый размер, а при перемножении матриц число столбцов первой матрицы равняется числу строк второй матрицы. На рис. 1.8 показано сложение и вычитание матриц, на рис. 1.9 – результат умножения матриц.
Если задано несколько матриц с одинаковым количеством строк, то
них можно построить единую матрицу, располагая матрицы гори-
из зонтально в одну линию, например, F4 = [F1 F2 F3]. Такую операцию принято называть горизонтальной конкатенацией матриц или сцепле­нием матриц. Пример горизонтальной конкатенации матриц изображен на рис. 1.10. Вертикальную конкатенацию матриц можно выполнить аналогично, при условии что все составные матрицы имеют одинаковое количество столбцов, например, с помощью
команды F5 = [F1; F2; F3]. На рис. 1.11 показан процесс выполнения вертикальной конкатенации матриц.
7
Рис. 1.8. Сложение и вычитание
матриц
Рис. 1.10. Горизонтальная
конкатенация
Рис. 1.9. Умножение матриц
Рис. 1.11. Вертикальная конкатенация
8
Рис. 1.12. Возведение матрицы в степень
На рис. 1.12 приведен пример возведения квадратной матрицы в
целую степень с использованием оператора «^».
1.2. СОЗДАНИЕ МАТРИЦ СПЕЦИАЛЬНОГО ВИДА
Для заполнения прямоугольной матрицы нулями можно использо­вать встроенную функцию zeros. На рис. 1.13 показан результат рабо­ты функции zeros.
На рис. 1.14 изображено формирование единичной матрицы с по­мощью функции eye. На рис. 1.15 образована матрица, состоящая из единиц, в результате работы функции ones.
Для заполнения матриц случайными числами, равномерно распре­деленными между нулем и единицей, можно использовать функцию rand (рис. 1.16). Функция randn используется для формирования мат­рицы чисел, распределенных по нормальному закону с нулевым сред­ним и единичной дисперсией (рис. 1.17).
9
Рис. 1.13. Использование функции
zeros
Рис. 1.15. Функция ones Рис. 1.16. Функция rand
Рис. 1.14. Использование функции
eye
Функция diag формирует диагональную матрицу из вектора, рас­полагая элементы по диагонали (рис. 1.18). Для того чтобы элементы вектора размещались на другой диагонали, необходимо указать но­мер диагонали, выраженный целым числом (рис. 1.19). Отметим, что диагонали отсчитываются по направлению вверх от главной диагонали. Функцию diag можно использовать для создания векто­ра-столбца, состоящего из элементов
главной диагонали заданной
матрицы (рис. 1.20).
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]