Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование инженерных систем и технологических процессов. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Министерство образования и науки Российской Федерации
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ
П.Д. Челышков, А.В. Дорошенко, А.А. Волков
МОДЕЛИРОВАНИЕ
ИНЖЕНЕРНЫХ СИСТЕМ
ПРОЦЕССОВ
Учебное пособие
© Национальный исследовательский
Московский государственный
строительный университет, 2017
ISBN 978-5-7264-1753-0
Москва
2017
УДК 69:658.51 ББК 30.2 Ч-41
Рецензенты:
доктор технических наук, профессор А.В. Гинзбург,
заведующий кафедрой ИСТАС НИУ МГСУ;
кандидат технических наук И.В. Редин, начальник управления нового строительства
ПАО «Московская объединенная энергетическая компания»
Работа выполнена в рамках государственного задания,
выполняемого НИУ МГСУ по проекту «Разработка методологии информационной
афферентации в жизненных циклах объектов и процессов
(на моделях собственно объектов и процессов эксплуатации зданий)»
Челышков, Павел Дмитриевич.
Ч-41 Моделирование инженерных систем и технологических процессов
[Электронный ресурс] : учебное пособие / П.Д. Челышков, А.В. Дорошенко, А.А. Волков ; М-во образования и науки Рос. Федерации, Нац. исследоват. Моск. гос. строит. ун-т. — Электрон. дан. и прогр. (26,4 Мб). — Москва: Изд-во Моск. гос. строит. ун-та, 2017. — Режим доступа: http://lib.mgsu.ru/Scripts/irbis64r_91/
cgiirbis_64.exe?C21COM=F&I21DBN=IBIS&P21DBN=IBIS. Загл. с титул. экрана.
ISBN 978-5-7264-1753-0
Изложены основные вопросы курса «Математическое моделирование систем
автоматического управления» по программному пакету Matlab (MATrix LABoratory). Даны задания для самостоятельной работы.
Для обучающихся по направлениям подготовки 15.03.04 Автоматизация технологических
процессов и производств, 27.03.04 Управление в технических системах.
Учебное электронное издание
© Национальный исследовательский Московский государственный строительный университет, 2017
Редактор Т.Н. Донина
Корректор В.К. Чупрова
Компьютерная верстка О.Г. Горюновой
Дизайн первого титульного экрана Д.Л. Разумного
Для создания электронного издания использовано:
Microsoft Word 2007, Adobe Reader
Подписано к использованию 22.12.2017 г. Объем данных 26,4 Мб.
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Национальный исследовательский
Московский государственный строительный университет».
129337, Москва, Ярославское ш., 26.
Издательство МИСИ—МГСУ.
Тел. (495) 287-49-14, вн. 13-71, (499) 188-29-75, (499) 183-97-95.
E-mail: ric@mgsu.ru, rio@mgsu.ru.

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ В MATLAB ..................................................................... 5
ПОСТРОЕНИЕ ГРАФИКОВ .............................................................. 12
СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ ...................................................... 19
СИСТЕМНЫЙ АНАЛИЗ В MATLAB ............................................... 22
ПРАКТИЧЕСКАЯ РАБОТА № 1 ....................................................... 24
ПРАКТИЧЕСКАЯ РАБОТА № 2 ....................................................... 26
ПРАКТИЧЕСКАЯ РАБОТА № 3 ....................................................... 27
ПРАКТИЧЕСКАЯ РАБОТА № 4 ....................................................... 29
ПРАКТИЧЕСКАЯ РАБОТА № 5 ....................................................... 31
ПРАКТИЧЕСКАЯ РАБОТА № 6 ....................................................... 36
ПРАКТИЧЕСКАЯ РАБОТА № 7 ....................................................... 42
ПРАКТИЧЕСКАЯ РАБОТА № 8 ....................................................... 44
ПРАКТИЧЕСКАЯ РАБОТА № 9 ....................................................... 48
ОСНОВЫ МОДЕЛИРОВАНИЯ СИСТЕМ АВТОМАТИЧЕСКОГО
УПРАВЛЕНИЯ В SIMULINK ............................................................ 52
ПРАКТИЧЕСКАЯ РАБОТА № 10 ..................................................... 61
ПРАКТИЧЕСКАЯ РАБОТА № 11 ..................................................... 62
ПРАКТИЧЕСКАЯ РАБОТА № 12 ..................................................... 63

ВВЕДЕНИЕ В MATLAB

Программный пакет Matlab (MATrix LABoratory) это высоко-
уровневый язык и интерактивная среда для программирования, чис­ленных расчетов и визуализации результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения.
Интерактивная работа достигается путем выполнения команд из
командного окна (Command Window). Таким образом, команды вы­полняются сразу после нажатия клавиши ENTER. Ранее выполнен­ные команды могут быть найдены в Command History или нажатием
UP.
В Matlab существует целый ряд реализованных функций, которые
могут быть сгруппированы по назначению в конкретные классы, называемые наборами инструментов (Toolboxes). С другой стороны, можно создавать собственные программы и функции в Editor, кото­рые можно вызвать из окна командной строки или любой другой программы.
На рис. 1 представлена среда Matlab. Окно состоит из командного
окна, истории команд, текущей папки и рабочего пространства
(command window, command history, current folder and workspace).
Рис. 1. Среда Matlab
Matlab можно использовать в качестве калькулятора. Он может
работать с целыми, действительными и комплексными числами. Кроме того, он может распознавать приоритеты при расчете.
5
Например:
Функция
Функция в MatLab
Пример
синус
sin ()
>> sin (2) ans = 0,9093
Косинус
cos ()
>> cos (2) ans = -0,4161
тангенс
tan ()
>> tan (2) ans = -2,1850
арктангенс
atan ()
>> atan (2) ans = 1,1071
Экспонента (ex)
exp ()
>> exp (0) ans = 1
логарифм
log ()
>> log (exp (2)) ans = 2
log10 ()
>> log10 (10) ans = 1
Возведение в степень
^
>> 2^2 ans = 4
Корень квадратный
sqrt ()
>> sqrt (2) ans = 1,4142
Округление
floor () % возвращает
>=
>> floor (4,53), ceil
>> 2 + 3,1 * 4/5 ans = 4,4800 Некоторые полезные команды: >>% — комментарий
>> clear % удаляет все переменные из рабочей области >> clear a b % удаляет переменные а и b >> close all % закрывает все графики >> clc % удаляет содержимое командного окна
Основные математические функции в MatLab
Таблица 1
значения, округленные до ближайшего целого
<= ceil () % возвращает
значения, округленные до ближайшего целого
6
(4,53), round (4,53) ans = 4 ans = 5 ans = 5
Функция
Функция в MatLab
Пример
round () % возвращает
значения, округлен-
целого
Модуль
abs ()
>> abs(-4) ans = 4
Аргумент комплекс­ного числа
Angle ()
>> angle(1+1i) ans = 0.7854
Массив действитель­ной части
real ()
>> real(1-1i) ans = 1
Массив мнимой части
imag ()
>> imag(1-1i) ans = -1
Комплексное сопря-
conj ()
>> conj (1 + 1i)
1,0000i
ные до ближайшего
Окончание табл. 1
жение
Каждая переменная, используемая в Matlab представлена в виде
матрицы. Таким образом, скаляры представлены в виде матрицы 1х1, и они определяются простым путем ввода:
>> a = 2 Строки определяются следующим образом: >> s ='this is string'
s =this is string
Векторы (матрицы) определяются с помощью квадратных ско-
бок, где столбцы разделены пробелом или ",", а строки ";".
>> B=[5 6] B = 5 6 >> C=[1 2;3 4] C = 1 2 3 4
Функции input и display используются для обмена данными через
окно командной строки.
>> x=input('enter a number:') >> disp(['Number is: x=' num2str(x)])
ans = 1,0000 –
7
Таблица 2
Элементарные функции для матриц
Функция Описание length Длина вектора Size Размер матрицы numel Количество элементов ndims Количество измерений isempty Является ли матрица пустой? min Минимум матрицы max Максимум матрицы sum Сумма матрицы mean Среднее значение матриц sort Вид матрицы det Определитель матрицы rank Ранг матрицы eig Собственные значения матрицы trace След матрицы zeros Нулевая матрица ones Матрица из единиц eye Единичная матрица
"*" используется для вычисления векторного произведения мат-
риц, в то время ".*" Используется для скалярного произведения. То же самое относится и к "^".
Можно получить доступ к конкретному элементу матрицы, про-
писав позицию в скобках (нумерация индексов начинается с едини­цы).
>> C(1,2) ans = 2
Знак ":" в скобках обозначает всю строку / столбец. >> C(:,1)
ans = 1 3
8
Он также может быть использован для обозначения части стро-
ки/столбца
>> D=[1 2 3;4 5 6]; >> D(2,2:3) ans = 5 6
Пример: Использование матриц для решения системы уравнений:
2x+3y-4z = 12
-3x+y+z = -2 x -2y+5z = 4 >> A=[2 3 -4; -3 1 1; 1 -2 5]; >> B=[12 -2 4]'; % ’ функция транспонирования >> x=A^-1*B %or A\B x = 3.0000
4.8571
2.1429
Matlab также поддерживает работу с основными операциями от-
ношения и логическими операторами, таких как меньше / больше, чем (<,>); меньше / больше или равно (<=,> =); равно (==); не равно (~ =); и (&); или (|); не (~). Результаты этих операций логического типа: истина (1) или ложь (0).
>> 1==2 ans = 0 >> A=[1 2 3 4]; B=[2 3 4 1]; >> A<B ans = 1 1 1 0
>> A==3 ans = 0 0 1 0 >> A==3 | A==4 ans = 0 0 1 1
Пример: Найти элементы больше чем 2:
>> A=[1 5 2 4 6 8 3 6];
9
>> A>2 ans = 0 1 0 1 1 1 1 1 >> B=A(A>2) B = 5 4 6 8 3 6
Программы в Matlab называются script (скрипт) и они имеют
расширение ".m". Для работы с программами используется редактор, который можно создать нажав File / New / Script. Команды набира­ются в командном окне и код выполняется строка за строкой до конца или первой ошибки. Редактор компилирует код в режиме ре­ального времени и сигналы с красной линией указывают, что есть ошибка в соответствующей строке кода и оранжевым светом, если есть некоторые предупреждения. Запуск программы осуществляется нажатием зеленой стрелки на панели инструментов. Если в конце строки кода отсутствует ";", то результат выполнения этой строки будет показан в командном окне.
Функции Matlab очень похожи на скрипты, за исключением того,
что первая строка должна быть заголовком функции. И в конце функции должна быть записана команда End.
Пример функции, вычисляющей факториал:
function f=faktorial(n) array=1:n; f=prod(array);
Функция может быть вызвана из окна командной строки или
скрипта.
>> k=faktorial(5) k = 120
Matlab также поддерживает работу с условными операторами и
циклами.
If if expression1 command block1 elseif expression2 command block2 else
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]