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

MATLAB. Теория и практика

Покупка
Артикул: 712445.01.99
Доступ онлайн
799 ₽
В корзину
Данная книга предлагает практическое введение в MATLAB - пакет прикладных программ для решения задач технических вычислений и одноименный язык программирования. Издание охватывает все, что необходимо для эффективного использования MATLAB, от простых арифметических действий со скалярами до создания и использования массивов, трехмерных графиков и решения дифференциальных уравнений. Снимки экранов, учебные примеры, работающие примеры программ и домашние задания с вопросами по математике, физике и инженерным наукам - все это делает освоение программы MATLAB эффективным и основательным. Издание предназначено в первую очередь студентам техническим вузов, а также инженерам и научным работникам, использующим MATLAB в своей работе.
Амос, Г. Гилат, А. MATLAB. Теория и практика / Амос Гилат ; пер. с англ. Н.К.Смоленцева. - 5-е изд. - Москва : ДМК Пресс, 2017. - 416 с. - ISBN 978-5-97060-183-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1027816 (дата обращения: 18.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Амос Гилат

MATLAB

Теория и практика

MATLAB

®

An Introduction
with Applications

Fifth Edition

Amos Gilat
Department of Mechanical and Aerospace Engineering
The Ohio State University

Москва, 2017

MATLAB

®

Теория  
и практика

5-е издание

Амос Гилат
Факультет механики и космической техники
Университет штата Огайо

УДК 
51-37:004.9MATLAB
ББК 
22.1с
Г47

Г47     Амос Гилат
MATLAB. Теория и практика. 5-е изд. / Пер. с англ. Смоленцев Н. К. – М.: 
ДМК Пресс, 2017. – 416 с.: ил.

            ISBN 978-5-97060-183-9

Данная книга предлагает практическое введение в MATLAB – пакет 
прикладных программ для решения задач технических вычислений и одноименный язык программирования. Издание охватывает все, что необходимо 
для эффективного использования MATLAB, от простых арифметических 
действий со скалярами до создания и использования массивов, трехмерных графиков и решения дифференциальных уравнений. Снимки экранов, 
учебные примеры, работающие примеры программ и домашние задания с 
вопросами по математике, физике и инженерным наукам – все это делает 
освоение программы MATLAB эффективным и основательным. 
Издание предназначено в первую очередь студентам техническим вузов, а 
также инженерам и научным работникам, использующим MATLAB в своей 
работе.

 
 
 
 
 
 
УДК 51-37:004.9MATLAB
 
 
 
 
 
 
ББК 22.1с

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы 
то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев 
авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность 
технических ошибок все равно существует, издательство не может гарантировать абсолютную 
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

ISBN 978-1-11862-986-4 (англ.) 
© 2015, 2011 John Wiley & Sons, Inc.
ISBN 978-5-97060-183-9 (рус.) 
 
© Оформление, издание, ДМК Пресс, 2017

Посвящается моим родителям Шошане и Хаиму Гельбваксам

ОГЛАВЛЕНИЕ

Предисловие ................................................................ 11

Введение ..................................................................... 13

Глава 1.  
Начало работы с MATLAB ................................................ 17
1.1. Запуск MATLAB, окна MATLAB ................................................................ 17
1.2. Работа в командном окне ....................................................................... 21
1.3. Арифметические операции со скалярами .............................................. 23
1.3.1. Приоритет операций ........................................................................... 23
1.3.2. Использование MATLAB как калькулятор ............................................. 24
1.4. Форматы вывода ................................................................................... 24
1.5. Встроенные элементарные математические функции ............................ 25
1.6. Определение скалярных переменных  ................................................... 28
1.6.1. Оператор присвоения ......................................................................... 28
1.6.2. Правила для имен переменных ........................................................... 30
1.6.3. Предопределенные переменные и зарезервированные слова ............ 30
1.7. Полезные команды для управления переменными ................................. 31
1.8. Файлы сценария .................................................................................... 32
1.8.1. Замечания о файлах сценариев .......................................................... 32
1.8.2. Создание и сохранение файлов сценариев ......................................... 33
1.8.3. Выполнение файла сценария .............................................................. 34
1.8.4. Текущий каталог ................................................................................. 34
1.9. Примеры применений MATLAB ............................................................... 36
1.10. Задачи ................................................................................................. 39

Глава 2.  
Создание массивов ....................................................... 46
2.1. Создание одномерных массивов (векторов) .......................................... 46
2.2. Создание двумерных массивов (матриц) ............................................... 49
2.2.1. Команды zeros, ones и eye ................................................................... 51
2.3. Замечания о переменных в MATLAB ....................................................... 52
2.4. Оператор транспонирования  ................................................................ 52
2.5. Адресация (индексация) массива .......................................................... 53
2.5.1. Вектор ................................................................................................ 53

Оглавление

2.5.2. Матрица ............................................................................................. 54
2.6. Использование двоеточия : в адресации массивов ................................ 55
2.7. Добавление элементов к существующим переменным .......................... 57
2.8. Удаление элементов .............................................................................. 59
2.9. Встроенные функции для управления массивами .................................. 60
2.10. Строки символов и строки как переменные  ......................................... 63
2.11. Задачи ................................................................................................. 65

Глава 3.  
Математические операции с массивами ........................... 74
3.1. Сложение и вычитание ........................................................................... 75
3.2. Умножение массивов ............................................................................. 76
3.3. Деление массивов ................................................................................. 79
3.4. Поэлементные операции ....................................................................... 83
3.5. Использование массивов во встроенных математических  
функциях MATLAB ......................................................................................... 85
3.6. Встроенные функции для анализа массивов .......................................... 86
3.7. Генерация случайных чисел .................................................................... 88
3.8. Примеры приложений MATLAB ............................................................... 91
3.9. Задачи ................................................................................................... 96

Глава 4.  
Использование файлов сценариев и управление данными ..105
4.1. Рабочее пространство MATLAB и окно рабочего пространства ............. 106
4.2. Входные параметры файла сценария ................................................... 107
4.3. Команды вывода .................................................................................. 110
4.3.1. Команда disp..................................................................................... 111
4.3.2. Команда fprintf .................................................................................. 113
4.4. Команды save и load ............................................................................. 120
4.4.1. Команда save .................................................................................... 121
4.4.2. Команда load .................................................................................... 122
4.5. Импорт и экспорт данных  .................................................................... 123
4.5.1. Команды для импорта и экспорта данных ......................................... 124
4.5.2. Использование Мастера импорта ..................................................... 126
4.6. Примеры приложений MATLAB ............................................................. 127
4.7. Задачи ................................................................................................. 132

Глава 5.  
Двумерные графики ......................................................143
5.1. Команда plot ........................................................................................ 143
5.1.1. График определенных данных ........................................................... 148

Оглавление

5.1.2. График функции ................................................................................ 148
5.2. Команда fplot ....................................................................................... 150
5.3. Графическое изображение нескольких графиков в одном окне ............ 151
5.3.1. Использование команды plot ............................................................ 152
5.3.2. Использование команд hold on и hold off ........................................... 153
5.3.3. Использование команды line ............................................................. 153
5.4. Форматирование окна графика ............................................................ 154
5.4.1. Использование команд форматирования окна графика  ................... 154
5.4.2. Форматирование графика с использованием редактора графиков ... 158
5.5. Графики с логарифмическими осями ................................................... 158
5.6. Графики с планками погрешностей ...................................................... 160
5.7. Графики специального вида ................................................................. 162
5.8. Гистограммы ....................................................................................... 163
5.9. Графики в полярных координатах......................................................... 166
5.10. Расположение нескольких окон графиков на одной странице ............ 167
5.11. Несколько окон графиков Figure ......................................................... 167
5.12. Построение графиков с использованием ленты  
инструментов PLOTS  ................................................................................. 169
5.13. Примеры приложений MATLAB ........................................................... 170
5.14. Задачи ............................................................................................... 175

Глава 6.  
Программирование в MATLAB .........................................185
6.1. Операторы сравнения и логические операторы ................................... 186
6.2. Условные операторы ............................................................................ 193
6.2.1. Структура if-end ................................................................................ 194
6.2.2. Структура if-else-end......................................................................... 195
6.2.3. Структура if-elseif-else-end ............................................................... 195
6.3. Оператор переключения switch-case .................................................... 198
6.4. Циклы .................................................................................................. 201
6.4.1. Циклы for-end ................................................................................... 201
6.4.2. Циклы while-end ................................................................................ 205
6.5. Вложенные циклы и вложенные условные операторы .......................... 208
6.6. Команды break и continue ..................................................................... 210
6.7. Примеры приложений MATLAB ............................................................. 211
6.8. Задачи ................................................................................................. 219

Глава 7.  
Определенные пользователем функции и файлы функций ..229
7.1. Создание файла функции .................................................................... 230
7.2. Структура файла функции .................................................................... 231

Оглавление

7.2.1. Строка определения функции ........................................................... 231
7.2.2. Входные и выходные аргументы ....................................................... 232
7.2.3. Строка H1 и текстовые строки справки ............................................. 234
7.2.4. Тело функции .................................................................................... 234
7.3. Локальные и глобальные переменные .................................................. 235
7.4. Сохранение файла функции  ................................................................ 236
7.5. Использование пользовательских функций .......................................... 236
7.6. Примеры простых пользовательских функций ..................................... 237
7.7. Сравнение файлов функций и скрипт-файлов ...................................... 239
7.8. Анонимные функции ............................................................................ 240
7.9. Функции от функций ............................................................................ 243
7.9.1. Использование дескрипторов функций для передачи функции 
в функцию от функции ................................................................................ 243
7.9.2. Использование имени функции для передачи функции в функцию 
от функции ................................................................................................. 246
7.10. Подфункции ....................................................................................... 249
7.11. Вложенные функции .......................................................................... 250
7.12. Примеры приложений MATLAB ........................................................... 253
7.13. Задачи ............................................................................................... 256

Глава 8.  
Многочлены, подбор кривых и интерполяция ....................270
8.1. Многочлены ......................................................................................... 270
8.1.1. Значение многочлена ....................................................................... 271
8.1.2. Корни многочлена............................................................................. 272
8.1.3. Сложение, умножение и деление многочленов ................................. 273
8.1.4. Производные многочленов ............................................................... 275
8.2. Подбор кривой ..................................................................................... 276
8.2.1. Подбор кривой многочленами; функция polyfit .................................. 276
8.2.2. Подбор кривой другими функциями .................................................. 280
8.3. Интерполяция ...................................................................................... 284
8.4. Базовый интерфейс для подбора Basic fitting ....................................... 287
8.5. Примеры приложений MATLAB ............................................................. 290
8.6. Задачи ................................................................................................. 295

Глава 9.  
Приложения в численном анализе ...................................305
9.1. Решение уравнения с одной переменной ............................................. 305
9.2. Нахождение минимума или максимума функции .................................. 308
9.3. Численное интегрирование  ................................................................. 310
9.4. Обыкновенные дифференциальные уравнения .................................... 312

Оглавление

9.5. Примеры приложений MATLAB ............................................................. 317
9.6. Задачи ................................................................................................. 323

Глава 10.  
Трехмерные графики ....................................................333
10.1. Графики линий ................................................................................... 333
10.2. Сети и графики поверхностей ............................................................ 334
10.3. Специальные графики........................................................................ 340
10.4. Команда view ...................................................................................... 343
10.5. Примеры приложений MATLAB ........................................................... 345
10.6. Задачи ............................................................................................... 350

Глава 11.  
Символьная математика ................................................356
11.1. Символьные объекты и символьные выражения ................................. 357
11.1.1. Создание символьных объектов ...................................................... 357
11.1.2. Создание символьных выражений .................................................. 359
11.1.3. Команда findsym и значение символьной переменной  
по умолчанию ............................................................................................. 362
11.2. Изменение вида существующего символьного выражения ................ 363
11.2.1. Команды collect, expand и factor ...................................................... 363
11.2.2. Команды simplify и simple ................................................................ 365
11.2.3. Команда pretty ................................................................................ 367
11.3. Решение алгебраических уравнений .................................................. 367
11.4. Дифференцирование ......................................................................... 372
11.5. Интегрирование ................................................................................. 373
11.6. Решение обыкновенных дифференциальных уравнений .................... 375
11.7. Графическое изображение символьных выражений ........................... 378
11.8. Численные расчеты с символьными выражениями  ............................ 381
11.9. Примеры приложений MATLAB ........................................................... 384
11.10. Задачи ............................................................................................. 392

Приложение.  
Сводка символов, команд и функций ...............................402

Предметный указатель ..................................................413

ПРЕДИСЛОВИЕ

MATLAB – это очень популярный язык для технических вычислений, используемых студентами, инженерами и учеными в университетах, научно-исследовательских институтах и в различных отраслях промышленности во всем мире. Это 
программное обеспечение популярно, потому что оно мощно и удобно. Для студентов младших курсов университетов это может быть следующим инструментом 
для использования после графических калькуляторов в средней школе.
Эта книга была написана после нескольких лет преподавания этого программного обеспечения студентам младших курсов в качестве вводного прикладного курса. Цель состояла в том, чтобы написать книгу, которая представляет это 
программное обеспечение дружественным, непугающим образом. Поэтому книга 
напи сана на простом и понятном языке. Во многих местах для перечисления фактов и деталей, которые связаны с определенной темой, используются маркеры и 
списки вместо длинного текста. Книга включает многочисленные примеры типовых задач математики, науки и техники, которые подобны задачам, с которыми 
встречаются новые пользователи MATLAB.
Этот пятый выпуск книги обновлен и соответствует выпуску MATLAB 2013b. 
Кроме того, были исправлены задачи в конце каждой главы. В главах 1–8 около 
80% задач новые или отличаются от задач предыдущих изданий.
Я хотел бы выразить благодарность некоторым из своих коллег в Университете штата Огайо. Профессору Ричарду Фреулеру за его комментарии и доктору 
Майку Парку за то, что он просмотрел разделы книги, и за предложенные изменения. Я также ценю участие и поддержку профессоров Роберта Гастэфсона, Джона 
Демеля и доктора Джона Мерилла из Технического образовательного инновационного центра в Университете штата Огайо. Особая благодарность профессору 
Майку Личтенстеиджеру (OSU) и моей дочери Тэл Гилат (Университет Маркетт), 
которая тщательно просмотрела первый выпуск книги и дала ценные комментарии и критические замечания.
Профессор Брайан Харпер (OSU) внес существенный вклад в составление новых задач в конце глав в данном издании ниги.
Я хотел бы выразить свою признательность всем тем, кто просмотрел более 
ранние редакции текста на различных стадиях его развития, включая Бетти Барр, 
университет Хьюстона; Андрея Г. Чаховского, Калифорнийский университет, Дэвис; Роджера Кинга, университет Толедо; Ричарда Куора, университет Колорадо в 
Колорадо-Спрингсе; Ларри Лэджерстром, Калифорнийский университет, Дэвис; 

Предисловие

Ю-Джоу Лин, Акронский университет; Х. Дэвида Шитса, Канизиус-Колледж; 
Джеба Томаса, университет Айовы; Брайана Вика, Политехнический институт и 
университет штата Вирджиния; Джея Веицена, Массачусетский университет, Лоуэлл; и Джейна Паттерсона Файфа, Университет штата Огайо. Кроме того, я хотел 
выразить признательность Даниэлю Сэйри и Джойсу По, все из John Wiley&Sons, 
которые поддерживали работу над пятым изданием.
Я надеюсь, что книга будет полезна и поможет пользователям MATLAB наслаждаться этим программным обеспечением.

Амос Гилат
Колумбия, Огайо
ноябрь, 2013
gilat.1@osu.edu

ВВЕДЕНИЕ

MATLAB – это мощный язык для технических вычислений. Название MATLAB 
происходит от слов MATrix LABoratory (матричная лаборатория), потому что 
основ ной элемент его данных есть матрица (массив). MATLAB может использоваться для математических вычислений, моделирования, анализа и обработки 
данных, визуализации и графики и разработки алгоритмов.
MATLAB широко используется в университетах и колледжах во вводных и 
продвинутых курсах математики, в науке и особенно в технике. В индустрии это 
программное обеспечение используется в исследованиях, разработке и проектировании. Стандартная программа MATLAB имеет инструменты (функции), которые могут использоваться для решения типичных проблем. Кроме того, MATLAB 
имеет дополнительные пакеты расширения (toolboxes), которые являются наборами специализированных программ, созданных для решения определенных типов задач. Например, пакеты расширения для обработки сигналов, символьных 
вычислений и анализа систем управления.
До недавнего времени большинство пользователей MATLAB было людьми 
со знаниями языков программирования, такими как ФОРТРАН и C, которые 
переключались на MATLAB, поскольку это программное обеспечение стало популярным. Следовательно, большая часть литературы, которая была написана о 
MATLAB, предполагала, что у читателя есть знания компьютерного программирования. Книги о MATLAB зачастую предлагают сложные темы или приложения, которые специализируются в конкретной области. Однако сегодня MATLAB 
предлагается студентам колледжа как первая (и часто единственная) компьютерная программа, которую они изучат. Для этих студентов имеется необходимость 
в книге, которая излагает MATLAB, не предполагая предшествующего опыта в 
компьютерном программировании.

Цель этой книги
Книга «MATLAB. Теория и практика» предназначена для студентов, которые 
используют MATLAB впервые и не имеют или имеют немного опыта в компьютерном программировании. Она может быть использована в качестве учебника 
первокурсников для инженерных курсов или семинаров, в которых используется 
MATLAB. Книга может также служить в качестве справочного материала в более 
продвинутых разделах науки и технических курсах, где MATLAB используется в 
качестве инструмента для решения задач. Она также может использоваться для 

Введение

самостоятельного изучения MATLAB студентами и практикующими инженерами. Кроме того, книга может быть дополнением или вторичной книгой в курсах, 
где MATLAB используется, но у преподавателя нет времени, чтобы изложить его 
в достаточной мере.

Затронутые темы
MATLAB – это огромная программа, и поэтому невозможно изложить все это 
в одной книге. Эта книга фокусируется прежде всего на основах MATLAB. Мы 
предполагаем, что если эти основы хорошо поняты, студент будет в состоянии изучить продвинутые темы легко с использованием меню справочной информации 
MATLAB. 
Порядок, в котором темы представлены в этой книге, был выбран тщательно и 
основан на многолетнем опыте преподавания MATLAB во вводном техническом 
курсе. Темы представлены в порядке, который позволяет студенту следовать глава 
за главой в этой книге. Каждая тема представлена полностью в одном месте и затем используется в следующих главах.
Первая глава описывает базовую структуру и функции MATLAB и то, как использовать эту программу для простых арифметических действий со скалярами 
как калькулятор. В конце главы представлены скрипт-файлы (файлы сценарии). 
Они позволяют студенту написать, сохранить и выполнять простые программы 
MATLAB. Следующие две главы посвящены теме массивов. Основной элемент 
данных MATLAB – это массив, который не требует определения его размеров. 
Эта концепция, которая делает MATLAB очень мощной программой, может быть 
немного трудна для понимания студентов, у которых есть только ограниченные 
знания и опыт в линейной алгебре и векторном анализе. Понятие массивов представляется постепенно и затем объясняется достаточно широко в деталях. Глава 2 
описывает, как создать массивы, а глава 3 показывает математические действия с 
массивами.
После этих основ в главе 4 представлены более продвинутые темы, которые 
связаны со скрипт-файлами и вводом и выводом данных. Затем следует изложение темы двумерного графического изображения в главе 5. Программирование с 
MATLAB представлено в главе 6. Оно включает управление потоком выполнения 
команд с условными операторами и циклами. Пользовательские функции, анонимные функции и функции от функции изложены затем в главе 7. Изложение 
файлов функции (пользовательские функции) преднамеренно проведено отдельно от темы скрипт-файлов. Как показывает опыт, это легче понять студентам, которые не знакомы с подобными понятиями из других компьютерных программ.
Следующие три главы затрагивают более продвинутые темы. Глава 8 описывает, как MATLAB может использоваться для вычислений с многочленами и как 
использовать MATLAB для подгонки кривой и интерполяции. Глава 9 покрывает 
применения MATLAB в численном анализе. Она включает решение нелинейных 
уравнений, нахождение минимума или максимума функции, численного интегрирования и решения обыкновенных дифференциальных уравнений первого порядка. Глава 10 описывает, как сделать трехмерные графики, – это продолжение гла
Введение

вы по двумерным графикам. Глава 11 излагает очень подробно, как использовать 
MATLAB в символьных операциях.

Схема обычной главы
В каждой главе темы представляются постепенно в порядке, который делает 
понятия легкими для понимания. Использование MATLAB широко демонстрируется в тексте и примерами. Некоторые из более длинных примеров в главах 1–3 
названы учебными программами. Каждое использование MATLAB печатается 
другим шрифтом на сером фоне с дополнительными пояснениями к тексту программы. Идея состоит в том, чтобы читатель выполнил эти демонстрационные и 
учебные программы, для того чтобы получить опыт в использовании MATLAB. 
Кроме того, каждая глава включает формальные примеры типовых задач, которые 
являются примерами применений MATLAB для решения задач в математике, науке и технике. Каждый пример включает постановку задачи и детальное решение. 
Некоторые типовые задачи представлены в середине главы. У всех глав (кроме 
главы 2) есть раздел в конце с несколькими типовыми задачами. Необходимо отметить, что задачи могут быть решены с MATLAB многими различными способами. Решения типовых задач записаны так, что им легко следовать. Это означает, 
что во многих случаях задача может быть решена значительно короче, или иногда «более хитрой» программой. Студентам рекомендуется попытаться записать 
их собственные решения и сравнить конечные результаты. В конце каждой главы 
есть ряд задач для домашней работы. Они включают общие задачи математики и 
науки и задачи из различных дисциплин техники.

Символьные вычисления
MATLAB – это по существу программное обеспечение для численных расчетов. Однако могут быть выполнены и символьные математические операции, если 
установлен пакет расширения Symbolic Math. Пакет инструментов Symbolic Math 
включен в студенческую версию этого программного обеспечения MATLAB и может быть добавлен к стандартной программе.

Программное и аппаратное обеспечение
Программа MATLAB, как и большинство другого программного обеспечения, 
непрерывно разрабатывается, и часто выпускаются новые версии. Эта книга соответствует MATLAB версии 8.2.0.701 выпуска 2013b. Нужно подчеркнуть, однако, 
что  книга покрывает основы MATLAB, которые почти не меняются от версии 
до версии. Эта книга излагает использование MATLAB на компьютерах, которые 
применяют операционную систему Windows. Когда MATLAB используется на 
других машинах, все по существу то же самое. Пользователь отсылается к документации MATLAB для деталей относительно использования MATLAB на других операционных системах. Предполагается, что это программное обеспечение 
установлено на компьютере и у пользователя есть элементарные знания о работе 
с компьютером.

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