Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование матричных уравнений в задачах управления на базе MatLabSimulink. Учебное пособие
.pdf
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
А.А. ВОЕВОДА, Г.В. ТРОШИНА
МОДЕЛИРОВАНИЕ
МАТРИЧНЫХ УРАВНЕНИЙ
В ЗАДАЧАХ УПРАВЛЕНИЯ
НА БАЗЕ MatLab/Simulink
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
