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

Применение MATLAB для решения аналитических задач моделирования. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
1
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Инженерно-технологическая академия
М. В. ПЕТРЯЕВА
А. Н. ЦЕЛЫХ
ПРИМЕНЕНИЕ MATLAB ДЛЯ РЕШЕНИЯ
АНАЛИТИЧЕСКИХ ЗАДАЧ МОДЕЛИРОВАНИЯ
Учебное пособие
Ростов-на-Дону – Таганрог
Издательство Южного федерального университета
2022
2
УДК 004.438:004.056 (075.8) ББК 32.973-018.1я73 П313
Печатается по решению кафедры информационно-аналитических
систем безопасности Института компьютерных технологий и
информационной безопасности Южного федерального университета
(протокол № 7 от 27 апреля 2021 г.)
Рецензенты:
доктор технических наук, профессор кафедры информатики
Таганрогского института имени А. П. Чехова (филиал) «Ростовского
государственного Экономического университета (РИНХ)» Я. Е. Ромм
доктор технических наук, профессор кафедры информационно-
аналитических систем безопасности ИКТИБ ЮФУ А. В. Боженюк
Петряева, М. В.
П313 Применение MATLAB для решения аналитических задач моде-
лирования : учебное пособие / М. В. Петряева, А. Н. Целых ; Южный федеральный университет. – Ростов-на-Дону ; Таганрог : Издатель­ство Южного федерального университета, 2022. – 131 с.
ISBN 978-5-9275-4058-7
Изложены необходимые для освоения курса сведения – краткий кон-
спект лекций, методические указания к выполнению лабораторных работ, индивидуального задания, а также образцы тестовых вопросов. Направление подготовки 10.03.01 “Информационная безопасность”.
УДК 004.438:004.056 (075.8)
ББК 32.973-018.1я73
ISBN 978-5-9275-4058-7
© Южный федеральный университет, 2022 © Петряева М. В., Целых А. Н., 2022 © Оформление. Макет. Издательство
Южного федерального университета, 2022
3
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ……………………………………………………………..
5
ИСТОРИЯ ……………………………………………………………….
8
РАБОЧИЙ СТОЛ ………………………………………………………
10
Лабораторная работа № 1. Основы работы в Matlab. Установка и настройка среды ………………………………………………………
15
РАБОЧАЯ ОБЛАСТЬ. ПЕРЕМЕННЫЕ ……………………………..
16
Лабораторная работа № 2. Создание и редактирование переменных
24
СТРУКТУРА ПРОГРАММЫ ПАКЕТА MATLAB ………………...
26
Лабораторная работа № 3. Структура программы в Matlab. Мате­матические операции …………………………………………………
27
ФУНКЦИИ ……………………………………………………………...
28
Лабораторная работа № 4. Работа с локальными и глобальными функциями …………………………………………………………….
35
РАБОТА С МАТРИЦАМИ …………………………………………...
36
Лабораторная работа № 5. Функции для работы с матрицами ……
46
ПОЛЯ СТРУКТУР ……………………………………………………..
47
Лабораторная работа № 6. Работа со структурами …………………
50
ГРАФИЧЕСКИЕ ОБЪЕКТЫ ………………………………………….
52
Лабораторная работа № 7. Функция plot ……………………………
58
ТРЕХМЕРНЫЕ ГРАФИКИ …………………………………………...
60
Лабораторная работа № 8. Трехмерные объекты в Matlab. Сетча­тые графики …………………………………………………………...
66
УРАВНЕНИЯ …………………………………………………………...
68
Лабораторная работа № 9. Решение дифференциальных уравнений
70
АППРОКСИМАЦИЯ В MATLAB …………………………………...
71
Лабораторная работа № 10. Аппроксимация в Matlab ………………
76
ФУНКЦИИ И ОПЕРАЦИИ ДЛЯ РАБОТЫ СО СТРОКАМИ …..
77
Оглавление
4
Лабораторная работа № 11. Обработка строк ………………………..
84
ФУНКЦИИ ВРЕМЕНИ И ДАТЫ MATLAB ……………………….
85
Лабораторная работа № 12. Функции времени и даты Matlab ……...
92
ИНТЕГРАЦИЯ MATLAB ……………………………………………..
93
Лабораторная работа № 13. Экспорт графиков а MA Power point ….
95
РАБОТА С ФАЙЛАМИ ………………………………………………
96
Лабораторная работа № 14. Форматированные файлы ……………...
100
ПОЛУЧЕНИЕ ДАННЫХ ……………………………………………...
101
ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ТЕКСТА ………………………
102
Лабораторная работа № 15. Подготовка текста, анализ и моделиро­вание данных …………………………………………………………...
108
РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ………...
110
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ ……………………………………
127
ЗАКЛЮЧЕНИЕ …………………………………………………………
128
СПИСОК ЛИТЕРАТУРЫ ……………………………………………..
129
Введение
5
ВВЕДЕНИЕ
В настоящее время развитие многих сфер деятельности напрямую
связано с развитием информационных технологий. С появлением персо­нального компьютера появились такие понятия, как информатизация и информационное общество. Для современного научно-технического про­гресса характерны не только активная информатизация, но и высокая сте­пень автоматизации процессов. Появление компьютерной математики принесло с собой целый набор интегрированных пакетов программ и про­граммных комплексов, автоматизирующих инженерные и математические расчеты. К ним относятся Gauss, TK Solver!, Eureka, Derive, Mathcad, Mathematica, Maple V и др.
Перечисленные выше программы позволят намного легче находить
интегралы разных видов, работать с рядами, быстрее решать дифферен­циальные уравнения. Как наиболее популярные из них, выделяют MatLab,
Maple, MathCad и Mathematica.
MATLAB – одна из старейших, а потому тщательно разработанных
и проверенных временем систем автоматизации математических вычис­лений. Эти системы относятся к классу автоматизированного проектиро­вания (CAE) в области инженерного проектирования. Инструментарий MATLAB основан на расширенном представлении и применении матрич­ных операций. Даже в названии системы – MATrix LABoratory – матрич­ная лаборатория отражена матричная основа.
Несмотря на это пользователи, не заинтересованные в матричных
вычислениях, практически не испытывают неудобств в работе. Это про­исходит за счет того, что синтаксис встроенного языка программирования данной системы тщательно продуман.
Матрицы применяются в математике для компактной записи систем
линейных алгебраических или дифференциальных уравнений, в матричной механике – разделе квантовой механики, в математическом моделировании различных статических и динамических систем и объектов. Матрицы со­ставляют основу для решения уравнений состояния динамических объектов и систем и используются для автоматизации их составления.
Ярким примером является Simulink – расширение MATLAB. Си-
стема MATLAB включает в себя новейшие достижения в области автома-
Введение
6
тизации процесса решения матричных задач, а потому представляет инте­рес для специалистов, наряду с этим обладая понятным и удобным интер­фейсом, что важно для начинающих пользователей.
Миллионы инженеров и ученых во всем мире используют MATLAB®, чтобы анализировать и спроектировать системы и продукты, преобразовывающие наш мир. Матричный язык MATLAB является са­мым естественным способом в мире описать вычислительную математи­ку. Встроенная графика облегчает визуализацию и понимание данных. Окружение рабочего стола способствует экспериментированию, исследо­ваниям и открытиям. Эти средства MATLAB и возможности все строго протестированы и спроектированы, чтобы работать совместно.
Современный MATLAB позволяет проводить анализ данных прак­тически в любых разделах математики. Как было сказано ранее, основным объектом среды являются матрицы, что дает возможность решать уравне­ния линейной алгебры, выполнять операции над матрицами и векторами. Также среда помогает находить корни в виде многочленов, выполнять различные операции над ними, а также производить дифференцирование, интерполяцию и экстраполяцию кривых.
Инструменты Matlab допускают работу со статистическими и ди­намическими функциями. Функции раздела математической статистики и анализа данных позволяют выполнять быстрое преобразование рядов Фурье. Matlab упрощает решение дифференциальных и дифференциаль­но-алгебраических уравнений, дифференциальных уравнений, допускает уравнения с ограничениями, частными производными, с начальными условиями (задача Коши) с помощью пакета PDE toolbox.
Matlab – идеальная среда для моделирования физических явлений, инженерных и экономических систем.
Чтобы расширить эти «способности», MathWorks вместе с Matlab поставляет сопутствующую интерактивную программу Simulink для мо­делирования динамических систем. По словам создателей, этот продукт «позволяет представить исследуемую динамическую систему с помощью соединенных между собой функциональных блоков (блок-диаграммы), а затем изучить ее поведение в динамике».
MATLAB позволяет пользователям воплощать свои идеи за преде­лами рабочего стола. На сегодняшний день возможно запустить исследо-
Введение
7
вания больших наборов данных и масштабировать до кластеров и обла­ков. Код MATLAB может быть интегрирован с другими языками, позво­лив вам развернуть алгоритмы и приложения в сети, предприятии и про­мышленных системах.
Фактически MATLAB – это аббревиатура от MATLABoratory.
Большая часть функциональных возможностей MATLAB может работать с несколькими значениями одновременно.
Среда содержит все необходимые инструменты, типичные для IDE, включая отладчик и профайлер. Современный MATLAB позволяет разра­батывать алгоритмы на основе основных принципов классического объ­ектно-ориентированного программирования. Встроенные функции для работы с различными типами данных упрощают создание программ для микроконтроллеров.
Рис. 1. Официальный сайт Matlab
Для визуализации данных в MATLAB используются специальные функции для построения двумерных и трехмерных графиков. Среда поз­воляет проводить визуальный анализ данных и даже создавать анимиро­ванные ролики. Графический интерфейс пользователя содержит множе­ство элементов управления, таких как поля ввода, чекбоксы, кнопки, па­нели и т.д.
История
8
ИСТОРИЯ
Изначально MATLAB не был языком программирования, а пред-
ставлял собой интерактивный матричный калькулятор. Со временем к про­стым вычислениям добавились сложные алгоритмы для расчетов FFT (быстрое преобразование Фурье) и ODE (обыкновенное дифференциальное уравнение), разнообразные наборы инструментов и средства визуализации.
В 2020 г. в журнале PACMPL (Proceedings of ACM on Programming
Languages) Ассоциацией вычислительной техники была опубликована статья создателей Matlab математика Клива Моулера (англ. Cleve Moler) и инженера Джека Литтла (настоящее имя John N. Little) под названием “A History of MATLAB”.
Математической основой для первой версии MATLAB, по словам
авторов, послужила серия исследовательских работ Дж. Х. Уилкинсона и его коллег, опубликованных между 1965 и 1970 гг. и позже собранных в книге “Handbook for Automatic Computation, Volume II, Linear Algebra”. В этих статьях были представлены алгоритмы решения матричных ли­нейных уравнений и задач на собственные значения, реализованные на языке ALGOL60.
Язык программирования MATLAB был разработан в конце 1970-х гг.
деканом факультета компьютерных наук Университета Нью-Мексико Кливом Моулером как замена языку программирования Фортран. Клив Моулер писал: «Изначально целью разработки была возможность исполь­зования программных библиотек для проведения расчетов Linpack и
EISPACK студентами университета»
1
.
Язык относительно быстро распространился среди других универси-
тетов и стал довольно популярным. Matlab наиболее широко используется среди ученых, работающих в области прикладной математики. Одной из первых была версия, написанная на Фортране в 1982 г., которую и сегодня можно найти в Интернете. Эта версия с открытым исходным кодом. Ис­пользование Фортрана связано с тем, что инженер Джон Н. (Джек) Литтл познакомился с ним во время учебы у Клайва Моулера в Стэнфордском университете в 1983 г. Клив Моулер указывал в своей статье: «многие сту-
1
Статья Клива Моулера. URL: https://dl.acm.org/journal/pacmpl
История
9
денты Стэнфорда изучали такие дисциплины, как теория управления и об­работка сигналов, в которых матрицы занимали важное место»
2
.
В результате совместных усилий Джона Литтла, Клева Моулера и Стива Бангерта (англ. Steve Bangert) MATLAB был перенесен на попу­лярный язык программирования C. По мнения создателей, новый язык обладал огромным коммерческим потенциалом, поэтому в 1984 г. была основана компания The MathWorks. Долгое время библиотеки, перепи­санные на C, выходили под общим названием JACKPAC.
«Изначально MATLAB был предназначен для решения задач в тео­рии управления и обработке сигналов, использовался для проектирования систем управления», – писал Клив Моулер: «Быстрое развитие и удобство для начинающих пользователей, а также наличие большого количества справочных материалов способствовало развитию популярности Matlab в новых научных и инженерных областях»3. Простота и качество решения примеров линейной алгебры и иных численных методов способствовало популяризации Matlab в сфере образования.
2
Статья Клива Моулера. URL: https://dl.acm.org/journal/pacmpl
3
Книги Клива Моулера. URL: https://www.mathworks.com/moler.html
Применение Matlab для решения аналитических задач моделирования
10
РАБОЧИЙ СТОЛ
Главное рабочее окно в MATLAB называется рабочим столом. При
запуске MATLAB рабочий стол отображается в макете по умолчанию.
Чтобы открыть браузер рабочей области, если он в данный момент
не отображается, выполните одно из следующих действий:
• На вкладке Главная (Home) в разделе Среда (Environment)
нажмите Макет (Layout). Затем в разделе Показать выберите Рабочая об­ласть (Workspace).
• Вход в рабочее пространство в командном окне.
По умолчанию браузер рабочей области отображает базовую рабо-
чую область. Вы также можете просматривать функциональные рабочие области в режиме отладки.
Чтобы отобразить дополнительные столбцы, такие как размер и
диапазон значений, в строке заголовка браузера рабочей области, после нажатия кнопки , нажимают Choose Columns. В MATLAB Online, что-
бы выбрать столбцы для отображения, щелкают правой кнопкой по имени столбца по браузеру Рабочей области и выбирают или очищают имена требуемого столбца. Инструментальные окна рабочего стола представле­ны в табл. 1.
Таблица 1
Инструментальные окна Рабочего стола
Инструменты
Назначение
Command Window
Командное окно выполняет все функции и команды си­стемы MATLAB
Command History
История команд допускает просмотр, копирование и вы­полнение функций, ранее введенных в командном окне
Launch Pad
Окно запуска предоставляет доступ ко всем инструментам и пакетам в системе MATLAB
Current Directory Browser
Просмотр окна текущего каталога делает доступными просмотр файлов MATLAB и связанных файлов, а также выполнение файловых операций, таких как поиск и от­крытие файлов
Help Browser
Окно помощи позволяет совершать поиск и просматривать документацию по всем функциям и функциям MATLAB
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]