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

MATLAB. Полный самоучитель

Покупка
Артикул: 421747.04.99
Доступ онлайн
349 ₽
В корзину
Самоучитель по массовой матричной системе MATLAB, занимающей лидирующее место в области численных научно-технических вычислений, расчетов и моделирования. Основное внимание уделено описанию основ применения и языка программирования базовой системы MATLAB, реализации численных методов вычислений и визуально-ориентированному проектированию графического интерфейса пользователя (GUI). Описаны особенности интерфейса MATLAB, операторы, функции и средства программирования. Приведены сотни примеров применения MATLAB в учебных, научно-технических и математических вычислениях и расчетах. Для студентов, преподавателей и аспирантов университетов и вузов различного профиля, инженеров и научных работников.
Дьяконов, В. П. MATLAB. Полный самоучитель : самоучитель / В. П. Дьяконов. - 2-е изд. - Москва : ДМК Пресс, 2023. - 769 с. - ISBN 978-5-89818-543-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107220 (дата обращения: 05.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
MATLAB

Полный самоучитель

В. П. Дьяконов

Москва, 2023

 2-е издание, электронное
УДК 32.973.26-018.2
ББК 004.438
Д93

Д93
Дьяконов, Владимир Павлович.
MATLAB. Полный самоучитель / В. П. Дьяконов. — 2-е изд., эл. — 1 файл 
pdf : 769 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader 
XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.
ISBN 978-5-89818-543-5

Самоучитель по массовой матричной системе MATLAB, занимающей лидирующее 
место в области численных научно-технических вычислений, расчетов и моделирования. 
Основное внимание уделено описанию основ применения и языка программирования 
базовой системы MATLAB, реализации численных методов вычислений 
и визуально-ориентированному проектированию графического интерфейса 
пользователя (GUI). Описаны особенности интерфейса MATLAB, операторы, функции 
и средства программирования. Приведены сотни примеров применения 
MATLAB в учебных, научно-технических и математических вычислениях и расчетах. 
Для студентов, преподавателей и аспирантов университетов и вузов различного 
профиля, инженеров и научных работников.

УДК 32.973.26-018.2 
ББК 004.438

Электронное издание на основе печатного издания: MATLAB. Полный самоучитель / 
В. П. Дьяконов. — Москва : ДМК Пресс, 2014. — 768 c. — ISBN 978-5-97060-082-5. — Текст : 
непосредственный.

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

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.


ISBN 978-5-89818-543-5
© Дьяконов В. П., 2014
© Оформление, издание, ДМК Пресс, 2014
Краткое содержание

Введение........................................................................ 35

Благодарности и адреса для связи ................. 40

Урок 1. ПЕРВОЕ ЗНАКОМСТВО
С MATLAB........................................................................ 41

Урок 2. ЗНАКОМСТВО С ИНТЕРФЕЙСОМ
ПОЛЬЗОВАТЕЛЯ ........................................................ 91

Урок 3. ПРОГРАММНЫЕ СРЕДСТВА
МАТЕМАТИЧЕСКИХ ВЫЧИСЛЕНИЙ................ 151

Урок 4. ОПЕРАЦИИ С ВЕКТОРАМИ
И МАТРИЦАМИ .......................................................... 193

Урок 5. ТИПЫ ДАННЫХ – МАССИВЫ
СПЕЦИАЛЬНОГО ВИДА ......................................... 233

Урок 6. ПРОГРАММНЫЕ СРЕДСТВА
ОБЫЧНОЙ ГРАФИКИ .............................................. 277

Урок 7. ПРОГРАММНЫЕ СРЕДСТВА
СПЕЦИАЛЬНОЙ ГРАФИКИ................................... 341
Содержание
4

Урок 8. ПРОГРАММНЫЕ СРЕДСТВА
ЧИСЛЕННЫХ МЕТОДОВ ....................................... 383

Урок 9. ПРОГРАММНЫЕ СРЕДСТВА
ОБРАБОТКИ ДАННЫХ............................................ 441

Урок 10. РАБОТА СО СТРОКАМИ,
ФАЙЛАМИ И ЗВУКАМИ ......................................... 493

Урок 11. ТИПОВЫЕ СРЕДСТВА
ПРОГРАММИРОВАНИЯ ......................................... 531

Урок 12. ВИЗУАЛЬНОЕ
ПРОГРАММИРОВАНИЕ GUI ................................ 591

Урок 13. ОБЗОР РАСШИРЕНИЙ MATLAB ..... 659

Урок 14. СТЫКОВКА MATLAB
С ИЗМЕРИТЕЛЬНЫМИ ПРИБОРАМИ ............ 717

Список литературы ................................................ 743

Предметный указатель ........................................ 747
Содержание

Введение........................................................................ 35

Благодарности и адреса для связи ................. 40

Урок 1. Первое знакомство с MATLAB............ 41

1.1. Назначение и особенности системы MATLAB ... 42

1.1.1. Начальные сведения о матрицах ............................. 42

1.1.2. Назначение матричной системы MATLAB ................ 43

1.1.3. Системные требования к установке......................... 44

1.1.4. Инсталляция системы MATLAB 7 + Simulink 6 ........... 45

1.1.5. Файловая система MATLAB ..................................... 45

1.2. Начало работы с  MATLAB...................................... 46

1.2.1. Запуск MATLAB и работа в режиме диалога ............. 46

1.2.2. Понятие о сессии работы с системой MATLAB ......... 47

1.2.3. Новый и старый облики системы MATLAB ................ 48

1.2.4. Операции строчного редактирования...................... 49

1.2.5. Команды управления окном .................................... 49

1.3. Простые вычисления в MATLAB ........................... 50

1.3.1. MATLAB в роли мощного научного калькулятора ...... 50

1.3.2. Форма вывода и перенос строки в сессии ............... 53

1.3.3. Запуск примеров применения MATLAB
из командной строки ........................................................ 54

1.4. Основные объекты MATLAB .................................. 55
Содержание
6

1.4.1. Понятие о математическом выражении ................... 55

1.4.2. Действительные и комплексные числа .................... 55

1.4.3. Форматы чисел ....................................................... 56

1.4.4. Константы и системные переменные....................... 57

1.4.5. Текстовые комментарии в программах .................... 58

1.4.6. Переменные и присваивание им значений .............. 58

1.4.7. Уничтожение определений переменных .................. 59

1.4.8. Операторы и встроенные функции MATLAB ............. 60

1.4.9. Применение оператора : (двоеточие) ...................... 62

1.4.10. Функции пользователя .......................................... 63

1.4.11. Сообщения об ошибках и исправление
ошибок ............................................................................. 64

1.5. Формирование векторов и матриц ..................... 66

1.5.1. Задания векторов и матриц и доступ
к их элементам ................................................................. 66

1.5.2. Задание векторов и матриц с комплексными
элементами ...................................................................... 67

1.5.3. Понятие о матричных операциях и магические
матрицы ........................................................................... 68

1.5.4. Конкатенация (объединение) матриц ...................... 69

1.5.5. Удаление столбцов и строк матриц ......................... 70

1.6. Операции с рабочей областью, текстом
сессии и редактором mфайлов ................................. 70

1.6.1. Дефрагментация рабочей области .......................... 70

1.6.2. Сохранение рабочей области сессии ...................... 71

1.6.3. Ведение дневника ................................................... 71

1.6.4. Загрузка рабочей области сессии ........................... 72

1.6.5. Работа с редактором mфайлов .............................. 73
Содержание
7

1.6.6. Завершение вычислений и работы с системой ........ 73

1.7. Интерактивная справка из командной
строки............................................................................... 74

1.7.1. Вызов списка разделов интерактивной справки ...... 74

1.7.2. Справка по конкретному объекту............................. 75

1.7.3. Справка по группе объектов .................................... 76

1.7.4. Справка по ключевому слову ................................... 77

1.7.5. Дополнительные справочные команды .................... 77

1.8. Работа с демонстрационными примерами
с командной строки ....................................................... 78

1.8.1. Вызов списка демонстрационных примеров............ 78

1.8.2. Пример – вывод изображения поверхности............. 79

1.8.3. Что больше – e^pi или pi^e?...................................... 80

1.8.4. Встроенные фигуры ................................................ 81

1.8.5. Просмотр текстов примеров и mфайлов ................ 81

1.9. Знакомство с двумерной графикой MATLAB ..... 82

1.9.1. Особенности двумерной графики MATLAB .............. 82

1.9.2. Графики функций одной переменной ...................... 83

1.9.3. Графики ряда функций ............................................ 84

1.9.4. Графическая функция fplot ...................................... 85

1.10. Знакомство с трехмерной графикой
MATLAB ............................................................................. 86

1.10.1. Построение трехмерных графиков ........................ 86

1.10.2. Вращение графиков мышью .................................. 87

1.10.3. Контекстное меню графиков ................................. 88
Содержание
8

Урок 2. Знакомство с интерфейсом
пользователя ............................................................... 91

2.1. Интерфейс основного окна MATLAB ................... 92

2.1.1. Средства панели инструментов............................... 92

2.1.2. Браузер рабочей области ........................................ 93

2.1.3. Команды просмотра рабочей области who
и whos .............................................................................. 95

2.1.4. Браузер файловой структуры .................................. 96

2.2. Работа с меню ......................................................... 96

2.2.1. Команды, операции и параметры ............................ 96

2.2.2. Меню системы MATLAB ........................................... 97

2.2.3. Меню File................................................................. 97

2.2.4. Установка путей доступа файловой системы ........... 98

2.2.5. Настройка элементов интерфейса .......................... 99

2.2.6. Меню Edit – средства редактирования документов..... 99

2.2.7. Интерфейс по умолчанию...................................... 100

2.3. Основы редактирования и отладки mфайлов ... 100

2.3.1. Интерфейс редактора/отладчика mфайлов.......... 100

2.3.2. Цветовые выделения и синтаксический контроль .. 102

2.3.3. Понятие о файлахсценариях и файлахфункциях.. 102

2.3.4. Панель инструментов редактора и отладчика ........ 103

2.4. Новинки графического интерфейса MATLAB ..... 104

2.4.1. Новая позиция меню Graphics ............................... 104

2.4.2. Работа с окном 2Dграфики MATLAB ..................... 104

2.4.3. Работа с редактором графики MATLAB .................. 105

2.4.4. Построение графиков из их каталога..................... 108
Содержание
9

2.4.5. Некоторые другие особенности применения
редактора графики ......................................................... 111

2.4.6. Новый вид окна MATLAB ........................................ 114

2.5. Интерфейс графических окон ............................ 115

2.5.1. Обзор интерфейсов графических окон .................. 115

2.5.2. Панель инструментов камеры обзора .................... 117

2.5.3. Меню инструментов Tools ..................................... 117

2.5.4. Вращение графиков мышью .................................. 117

2.5.5. Операции вставки ................................................. 118

2.6. Основы форматирования графиков.................. 118

2.6.1. Форматирование двумерных графиков ................. 118

2.6.2. Форматирование линий графиков ......................... 118

2.6.3. Работа с инструментом Plot Tool............................ 120

2.6.4. Работа с редактором графики MATLAB .................. 120

2.6.5. Форматирование линий графиков и маркеров
опорных точек ................................................................ 121

2.6.6. Форматирование линий и маркеров для графика
нескольких функций ....................................................... 123

2.6.7. Форматирование осей графиков ........................... 124

2.6.8. Позиция Tools меню окна графики ......................... 124

2.6.9. Нанесение надписей и стрелок прямо на график ... 125

2.6.10. Применение графической «лупы» ........................ 126

2.6.11. Построение легенды и шкалы цветов на графике ... 127

2.6.12. Работа с камерой 3Dграфики ............................. 128

2.7. Работа с Мастером импорта данных ................ 130

2.7.1. Открытие окна Мастера импорта данных ............... 130

2.7.2. Информация об импортируемых бинарных
данных............................................................................ 132
Содержание
10

2.7.3. Импорт данных matформата ................................ 133

2.7.4. Импорт данных текстового формата...................... 133

2.7.5. Об экспорте данных .............................................. 135

2.8. Работа со справкой и демонстрационными
примерами .................................................................... 135

2.8.1. Запуск справочной системы Help Desk .................. 136

2.8.2. Справка по функциям и полнотекстовый обзор ..... 137

2.8.3. Работа с демонстрационными примерами ............ 139

2.9. Интерфейс и новые возможности
MATLAB R2007 .............................................................. 140

2.9.1. Интерфейс MATLAB  R2007a по умолчанию............ 140

2.9.2. Упрощенный интерфейс MATLAB R2007a............... 141

2.9.3. Редактор/отладчик программ и файлов
MATLAB R2007a .............................................................. 143

2.9.4. Справка MATLAB R2007a ....................................... 144

2.9.5. Новые возможности MATLAB R2007a,b................... 144

2.9.6. Интерфейс и справка MATLAB R2007b ................... 145

2.9.7. Общая настройка MATLAB R2007b ......................... 146

2.9.8. Производительность реализаций
MATLAB R2007a,b ............................................................ 148

Урок 3. Программные средства
математических вычислений ........................... 151

3.1. Вычислительные и логические операции ........ 152

3.1.1. Арифметические матричные операторы и функции ... 152

3.1.2. Операции отношения ............................................ 153

3.1.3. Логические операции и операторы........................ 155
Содержание
11

3.2. Специальные символы ........................................ 156

3.2.1. Специальные символы .......................................... 156

3.2.2. Системные переменные и константы..................... 159

3.3. Работа со специальными данными ................... 161

3.3.1. Поразрядная обработка данных ............................ 161

3.3.2. Обработка множеств ............................................. 162

3.3.3. Работа с функциями времени и даты ..................... 165

3.4. Встроенные элементарные функции ................ 168

3.4.1. Алгебраические и арифметические функции ......... 168

3.4.2. Тригонометрические и обратные
тригонометрические функции ........................................ 173

3.4.3. Вычисление гиперболических и обратных
гиперболических функций .............................................. 177

3.5. Числовые функции ............................................... 180

3.5.1. Округление и смена знака чисел ........................... 180

3.5.2. Операции с комплексными числами ...................... 181

3.6. Специальные математические функции .......... 182

3.6.1. Функции Эйри ....................................................... 182

3.6.2. Функции Бесселя .................................................. 183

3.6.3. Бетафункция и ее варианты ................................. 186

3.6.4. Эллиптические функции и интегралы .................... 187

3.6.5. Функции ошибки ................................................... 188

3.6.6. Интегральная показательная функция ................... 189

3.6.7. Гаммафункция и ее варианты............................... 189

3.6.8. Ортогональные полиномы Лежандра ..................... 190

3.6.9. Полигаммафункция psi......................................... 191
Содержание
12

Урок 4. Операции с векторами
и матрицами............................................................... 193

4.1. Создание матриц с заданными свойствами.... 194

4.1.1. Создание единичной матрицы............................... 194

4.1.2. Создание матрицы с единичными элементами ...... 194

4.1.3. Создание матрицы с нулевыми элементами .......... 195

4.1.4. Создание линейного массива равноотстоящих
точек .............................................................................. 195

4.1.5. Создание вектора равноотстоящих
в логарифмическом масштабе точек .............................. 196

4.1.6. Создание массивов со случайными элементами ... 196

4.1.7. Создание массивов с логическими значениями
элементов ...................................................................... 198

4.2. Операции с матрицами ....................................... 199

4.2.1. Конкатенация матриц ............................................ 199

4.2.2. Создание матриц с заданной диагональю ............. 200

4.2.3. Перестановки элементов матриц .......................... 201

4.2.4. Вычисление произведений.................................... 201

4.2.5. Суммирование элементов массивов ..................... 203

4.2.6. Функции формирования матриц............................ 204

4.2.7. Поворот матриц .................................................... 205

4.2.8. Выделение треугольных частей матриц ................. 205

4.2.9. Операции с пустыми матрицами ........................... 206

4.3. Создание и вычисление специальных
матриц ............................................................................ 207

4.3.1. Сопровождающие матрицы ................................... 207

4.3.2. Тестовые матрицы ................................................ 207
Содержание
13

4.3.3. Матрицы Адамара ................................................. 208

4.3.4. Матрицы Ганкеля .................................................. 208

4.3.5. Матрицы Гильберта............................................... 209

4.3.6. Матрицы магического квадрата............................. 210

4.3.7. Матрицы Паскаля .................................................. 210

4.3.8. Матрицы Россера.................................................. 211

4.3.9. Матрицы Теплица.................................................. 212

4.3.10. Матрица Вандермонда ........................................ 212

4.3.11. Матрицы Уилкинсона........................................... 213

4.4. Матричные операции линейной алгебры......... 213

4.4.1. Матричные функции .............................................. 213

4.4.2. Вычисление нормы и чисел обусловленности
матрицы ......................................................................... 215

4.4.3. Определитель и ранг матрицы............................... 217

4.4.4. Определение нормы вектора................................. 217

4.4.5. Определение ортонормированного базиса
матрицы ......................................................................... 218

4.4.6. Функции приведения матрицы к треугольной
форме ............................................................................ 219

4.4.7. Определение угла между двумя
подпространствами........................................................ 219

4.4.8. Вычисление следа матрицы .................................. 220

4.4.9. Разложение Холецкого .......................................... 220

4.4.10. Обращение матриц – функции inv, pinv ................ 221

4.4.11. LUи QRразложение .......................................... 222

4.4.12. Вычисление собственных значений
и сингулярных чисел ....................................................... 225

4.4.13. Приведение матриц к форме Шура
и Хессенберга ................................................................ 227
Содержание
14

4.5. О скорости выполнения матричных операций ... 231

4.5.1. О повышении скорости вычислений в старых
версиях MATLAB ............................................................. 231

4.5.2. Ситуация со скоростью вычислений в MATLAB 7.* ... 231

Урок 5. Типы данных – массивы
специального вида ................................................. 233

5.1. Разреженные матрицы ........................................ 234

5.1.1. Роль и назначение разреженных матриц ............... 234

5.1.2. Элементарные разреженные матрицы .................. 234

5.1.3. Преобразование разреженных матриц .................. 237

5.1.4. Работа с ненулевыми элементами разреженных
матриц ........................................................................... 240

5.1.5. Функция spy визуализации разреженных матриц .. 241

5.1.6. Алгоритмы упорядочения ...................................... 242

5.2. Применение разреженных матриц.................... 245

5.2.1. Смежные  матрицы и графы................................... 245

5.2.2. Пример построения фигуры bucky......................... 246

5.2.3. Оцифровка узлов графа ........................................ 246

5.2.4. Применение разреженных матриц
в аэродинамике .............................................................. 247

5.2.5. Визуализация разреженных матриц,
возведенных в степень ................................................... 249

5.2.6. Демонстрационные примеры на визуализацию
разреженных матриц ...................................................... 250

5.3. Функции разреженных матриц........................... 250

5.3.1. Норма, число обусловленности и ранг
разреженной матрицы .................................................... 250
Содержание
15

5.3.2. Функции разложения Холецкого
для разреженных матриц ................................................ 252

5.3.3. LUразложение разреженных матриц .................... 253

5.3.4. Собственные значения и сингулярные числа
разреженных матриц ...................................................... 255

5.4. Многомерные массивы ....................................... 255

5.4.1. Понятие о многомерных массивах ......................... 255

5.4.2. Применение оператора : в многомерных массивах .... 257

5.4.3. Удаление размерности у многомерного массива .... 258

5.4.4. Доступ к отдельному элементу многомерного
массива.......................................................................... 258

5.4.5. Создание страниц, заполненных константами
и случайными числами ................................................... 259

5.4.6. Функции ones, zeros, rand и randn .......................... 259

5.4.7. Объединение многомерных массивов ................... 260

5.4.8. Функция преобразования размеров
многомерного массива reshape ...................................... 261

5.5. Работа с размерностями массивов .................. 262

5.5.1. Вычисление числа размерностей массива ............ 262

5.5.2. Перестановки размерностей массивов ................. 262

5.5.3. Сдвиг размерностей массивов.............................. 263

5.5.4. Удаление единичных размерностей ...................... 264

5.6. Тип данных – структуры ....................................... 264

5.6.1. Структура записей ................................................ 264

5.6.2. Создание структур и доступ к их компонентам ...... 265

5.6.3. Функция создания структур................................... 266

5.6.4. Проверка имен полей и структур ........................... 266

5.7. Функции полей структур...................................... 267
Содержание
16

5.7.1. Функция возврата имен полей............................... 267

5.7.2. Функция возврата содержимого полей структуры ... 267

5.7.3. Функция присваивания значений полям ................ 268

5.7.4. Удаление полей..................................................... 268

5.7.5. Применение массивов структур ............................ 268

5.8. Массивы ячеек ...................................................... 269

5.8.1. Создание массивов ячеек ..................................... 269

5.8.2. Создание ячеек с помощью функции cell ............... 270

5.8.3. Визуализация массивов ячеек............................... 271

5.8.4. Создание массива символьных ячеек из массива
строк .............................................................................. 271

5.8.5. Присваивание с помощью функции deal ................ 272

5.8.6. Тестирование имен массивов ячеек ...................... 273

5.8.7. Функции преобразования типов данных ................ 273

5.9. Многомерные массивы ячеек ............................ 274

5.9.1. Создание многомерных массивов ячеек................ 274

5.9.2. Вложенные массивы ячеек .................................... 275

Урок 6. Программные средства
обычной графики..................................................... 277

6.1. Графики функций и данных................................. 278

6.1.1. Построение графиков отрезками прямых .............. 278

6.1.2. Графики в логарифмическом масштабе ................ 282

6.1.3. Графики в полулогарифмическом масштабе ......... 283

6.1.4. Столбцовые диаграммы ........................................ 284

6.1.5. Гистограммы......................................................... 285
Содержание
17

6.1.6. Лестничные графики ............................................. 286

6.1.7. Графики с зонами погрешности ............................ 287

6.1.8. Графики дискретных отсчетов функции ................. 288

6.2. Визуализация в полярной системе
координат ...................................................................... 289

6.2.1. Графики в полярной системе координат ............... 289

6.2.2. Угловые гистограммы ........................................... 290

6.3. Визуализация векторов ....................................... 291

6.3.1. Графики векторов ................................................. 291

6.3.2. График проекций векторов на плоскость ............... 292

6.4. Основы трехмерной графики ............................. 293

6.4.1. Контурные графики ............................................... 293

6.4.2. Создание массивов данных для трехмерной
графики.......................................................................... 294

6.4.3. Графики поля градиентов...................................... 296

6.4.4. Графики поверхностей .......................................... 297

6.4.5. Сетчатые 3Dграфики с окраской .......................... 298

6.4.6. Сетчатые 3Dграфики с проекциями ..................... 301

6.4.7. Построение поверхности столбцами ..................... 301

6.5. Улучшенные средства визуализации
3Dграфики ................................................................... 302

6.5.1. Построение поверхности с окраской ..................... 302

6.5.2. Построение поверхности и ее проекции ................ 305

6.5.3. Построение освещенной поверхности .................. 306

6.5.4. Средства управления подсветкой и обзором
фигур ............................................................................. 307
Содержание
18

6.5.5. Построение графиков функций трех переменных .. 308

6.5.6. График трехмерной слоеной поверхности............. 310

6.5.7. Трехмерные контурные графики............................ 310

6.6. Текстовое оформление графиков ..................... 312

6.6.1. Установка титульной надписи................................ 312

6.6.2. Установка осевых надписей .................................. 312

6.6.3. Ввод текста в любое место графика ...................... 312

6.6.4. Позиционирование текста с помощью мыши......... 315

6.7. Форматирование графиков ................................ 316

6.7.1. Вывод пояснений и легенды .................................. 316

6.7.2. Маркировка линий уровня на контурных графиках... 319

6.7.3. Управление свойствами осей графиков ................ 319

6.7.4. Включение и выключение сетки ............................. 321

6.7.5. Наложение графиков друг на друга ....................... 322

6.7.6. Разбиение графического окна ............................... 324

6.7.7. Изменение масштаба графика .............................. 324

6.8. Цветовая окраска графиков ............................... 327

6.8.1. Установка палитры цветов..................................... 327

6.8.2. Установка соответствия между палитрой
цветов и масштабом осей............................................... 328

6.8.3. Окраска поверхностей .......................................... 328

6.8.4. Установка палитры псевдоцветов.......................... 329

6.8.5. Создание закрашенного многоугольника .............. 330

6.8.6. Окраска плоских многоугольников ........................ 331

6.8.7. Вывод шкалы цветов ............................................. 332

6.8.8. Цветные плоские круговые диаграммы ................. 333
Содержание
19

6.8.9. Окрашенные многоугольники в пространстве ....... 334

6.8.10. Цветные объемные круговые диаграммы ............ 335

6.8.11. Другие команды управления световыми
эффектами ..................................................................... 335

6.9. Другие возможности графики ............................ 336

6.9.1. Построение цилиндра ........................................... 336

6.9.2. Построение сферы ................................................ 337

6.9.3. 3Dграфика с треугольными плоскостями ............. 338

Урок 7. Программные средства
специальной графики ........................................... 341

7.1. Анимационная графика ....................................... 342

7.1.1. Движение точки на плоскости................................ 342

7.1.2. Движение точки в пространстве ............................ 342

7.1.3. Основные средства анимации ............................... 344

7.1.4. Вращение фигуры – логотипа MATLAB................... 344

7.1.5. Волновые колебания мембраны ............................ 345

7.2. Основы дескрипторной графики ....................... 347

7.2.1. Объекты дескрипторной графики .......................... 347

7.2.2. Создание графического окна и управление им ...... 347

7.2.3. Создание координатных осей и управление ими ... 348

7.2.4. Пример применения объекта дескрипторной
графики.......................................................................... 348
7.2.5. Дескрипторы объектов.......................................... 348

7.2.6. Операции над графическими объектами ............... 350

7.2.7. Свойства объектов – команда get .......................... 351

7.2.8. Изменение свойств объекта – команда set ............ 352
Содержание
20

7.2.9. Просмотр свойств ................................................. 352

7.2.10. Примеры дескрипторной графики ....................... 353

7.2.11. Иерархия объектов дескрипторной графики ....... 356

7.2.12. Справка по дескрипторной графике .................... 357

7.3. Галерея трехмерной графики ............................ 357

7.3.1. Доступ к галерее ................................................... 357

7.3.2. Примеры построения фигур из галереи................. 359

7.4. Графический интерфейс пользователя GUI .... 362

7.4.1. Основные команды для создания GUI .................... 362

7.4.2. Простой пример создания объектов GUI ............... 364

7.4.3. Примеры программирования GUI .......................... 365

7.4.4. Программирование анимации поверхности
с разной скоростью ........................................................ 366

7.4.5. Программирование визуализации звукового
сигнала........................................................................... 367

7.5. Графическая поддержка цвета .......................... 369

7.5.1. Цветовые системы и OpenGL................................. 369

7.5.2. Управление прозрачностью графических
объектов ........................................................................ 370

7.5.3. Примеры построения изображений
со свойствами прозрачности .......................................... 370

7.6. Расширенная техника визуализации
вычислений ................................................................... 372

7.6.1. Задание Pathобъектов ......................................... 372

7.6.2. Построение среза черепной коробки человека...... 373

7.6.3. Расширенная визуализация трехмерных
объектов ........................................................................ 375
Содержание
21

7.6.4. Выделение части объема ...................................... 375

7.6.5. Визуализация струи в пространстве...................... 377

7.6.6. Визуализация электрических разрядов ................. 378

7.6.7. Анимация явления подъема предметов вихрями ... 379

7.6.8. Применение «конусной» графики
для визуализации струй.................................................. 381

Урок 8. Программные средства
численных методов................................................ 383

8.1. Решение систем линейных уравнений (СЛУ) .... 384

8.1.1. Элементарные средства........................................ 384

8.1.2. Решение систем линейных уравнений
с ограничениями ............................................................ 386

8.1.3. Решение систем линейных уравнений
с комплексными элементами.......................................... 387

8.2. Решение СЛУ с разреженными матрицами ..... 388

8.2.1. Точное решение, метод наименьших квадратов
и сопряженных градиентов ............................................. 388

8.2.2. Двунаправленный метод сопряженных градиентов .... 390

8.2.3. Устойчивый двунаправленный метод .................... 392

8.2.4. Метод сопряженных градиентов............................ 392

8.2.5. Квадратичный метод сопряженных градиентов ..... 393

8.2.6. Метод минимизации обобщенной невязки ............ 393

8.2.7. Квазиминимизация невязки – функция qmr ........... 394

8.3. Вычисление корней функций ............................. 394

8.3.1. Вычисление корней функций одной переменной ... 394

8.3.2. Графическая иллюстрация поиска корней
функций ......................................................................... 395
Содержание
22

8.3.3. Поиск корня с помощью функций fsolve и  solve ..... 396

8.3.4. Решение систем нелинейных уравнений ............... 397

8.4. Вычисление минимумов функций ..................... 398

8.4.1. Минимизация функции одной переменной............ 398

8.4.2. Минимизация функций ряда переменных
симплексметодом ......................................................... 398

8.4.3. Минимизация тестовой функции Розенброка ........ 400

8.4.4. Другие средства минимизации функций
нескольких переменных.................................................. 400

8.5. Аппроксимация производных ............................ 403

8.5.1. Аппроксимация лапласиана .................................. 403

8.5.2. Аппроксимация производных конечными
разностями .................................................................... 404

8.5.3. Вычисление градиента функции ............................ 407

8.6. Численное интегрирование ................................ 408

8.6.1. Интегрирование методом трапеций ...................... 408

8.6.2. Интегрирование методом квадратур ..................... 409

8.6.3. Вычисления двойных и тройных интегралов .......... 410

8.7. Математические операции с полиномами ...... 411

8.7.1. Определение полиномов....................................... 411

8.7.2. Умножение и деление полиномов.......................... 412

8.7.3. Вычисление полиномов......................................... 412

8.7.4. Вычисление корней полинома ............................... 414

8.7.5. Вычисление производной полинома ..................... 415

8.7.6. Решение полиномиальных матричных
уравнений ...................................................................... 415

8.7.7. Разложение полиномов на простые дроби ............ 416
Содержание
23

8.8. Обыкновенные дифференциальные
уравнения (ОДУ) ........................................................... 416

8.8.1. Определение ОДУ ................................................. 416

8.8.2. Решатели ОДУ....................................................... 417

8.8.3. Использование решателей систем ОДУ................. 419

8.9. Примеры решения дифференциальных
уравнений ...................................................................... 422

8.9.1. Пример на движение брошенного вверх тела ........ 422

8.9.2. Примеры решения системы ОДУ ВандерПоля .... 423

8.9.3. Вычисление реакции системы второго порядка
на заданное воздействие ............................................... 426

8.9.4. Решение уравнений Лотки–Вольтерра двумя
методами ....................................................................... 427

8.9.5. Решение системы Лотки–Вольтерра
с запаздывающим аргументом ....................................... 429

8.9.6. Решение системы дифференциальных уравнений
с двухсторонними граничными условиями...................... 431

8.9.7. Моделирование странного аттрактора
Лоренца ......................................................................... 432

8.9.8. Решение жесткой алгебраическидифференциальной системы уравнений......................... 433

8.9.9. Доступ к примерам на решение
дифференциальных уравнений....................................... 435

8.9.10. Решения дифференциальных уравнений
в частных производных ................................................... 437

Урок 9. Программные средства
обработки данных ................................................... 441

9.1. Обработка данных массивов .............................. 442
Содержание
24

9.1.1. Нахождение максимального и минимального
элементов массива ........................................................ 442

9.1.2. Сортировка элементов массива ............................ 443

9.1.3. Нахождение средних и срединных значений .......... 445

9.1.4. Вычисление стандартного отклонения .................. 447

9.1.5. Вычисление коэффициентов корреляции .............. 447

9.1.6. Вычисление матрицы ковариации ......................... 448

9.2. Геометрический анализ данных ........................ 449

9.2.1. Триангуляция Делоне ............................................ 449

9.2.2. Вычисление выпуклой оболочки ............................ 450

9.2.3. Вычисление площади полигона ............................. 451

9.2.4. Анализ попадания точек внутрь полигона .............. 452

9.2.5. Построение диаграммы Вороного ......................... 453

9.3. Преобразование Фурье ....................................... 454

9.3.1. Основные определения ......................................... 454

9.3.2. Одномерное прямое быстрое преобразование
Фурье ............................................................................. 455

9.3.3. Многомерное прямое преобразование Фурье....... 457

9.3.4. Перегруппировка массивов................................... 458

9.3.5. Одномерное быстрое обратное преобразование
Фурье ............................................................................. 459

9.4. Свертка и дискретная фильтрация.................... 460

9.4.1. Свертка прямая и обратная ................................... 460

9.4.2. Свертка двумерных массивов................................ 461

9.4.3. Дискретная одномерная фильтрация .................... 461

9.4.4. Двумерная фильтрация ......................................... 464

9.4.5. Коррекции фазовых углов ..................................... 464
Содержание
25

9.5. Интерполяция и аппроксимация данных ......... 465

9.5.1. Полиномиальная регрессия .................................. 465

9.5.2. Фурьеинтерполяция периодических функций ...... 467

9.5.3. Интерполяция на неравномерной сетке ................ 467

9.5.4. Одномерная табличная интерполяция ................... 469

9.5.5. Двумерная табличная интерполяция ..................... 470

9.5.6. Трехмерная табличная интерполяция .................... 472

9.5.7. Nмерная табличная интерполяция ....................... 473

9.5.8. Интерполяция кубическим сплайном..................... 474

9.6. Специальные виды интерполяции..................... 475

9.6.1. Сравнение видов двумерной интерполяции
поверхности ................................................................... 475

9.6.2. Сравнение видов интерполяции при контурных
графиках ........................................................................ 478

9.6.3. Пример многомерной интерполяции..................... 479

9.6.4. 3Dгеометрический анализ и интерполяция .......... 479

9.6.5. Другие представления сложных фигур .................. 482

9.7. Обработка данных в графическом окне ........... 484

9.7.1. Доступ к средствам обработки данных
в графическом окне ........................................................ 484

9.7.2. Полиномиальная регрессия для табличных данных... 485

9.7.3. Оценка погрешности аппроксимации .................... 487

9.7.4. Расширенные возможности окна приближения
кривых ............................................................................ 488

9.7.5. Сплайновая и эрмитовая интерполяции
в графическом окне ........................................................ 490

9.7.6. Графическая визуализация разложения
в ряд Тейлора ................................................................. 492
Содержание
26

Урок 10. Работа со строками,
файлами и звуками ................................................ 493

10.1. Обработка строковых данных .......................... 494

10.1.1. Основные функции обработки строк.................... 494
10.1.2. Операции над строками ...................................... 496
10.1.3. Преобразование символов и строк...................... 500
10.1.4. Функции преобразования систем счисления ....... 502
10.1.5. Вычисление строковых выражений...................... 503

10.2. Работа с файлами............................................... 504

10.2.1. Открытие и закрытие файлов .............................. 505
10.2.2. Операции с двоичными файлами......................... 507
10.2.3. Операции над форматированными файлами ....... 510
10.2.4. Позиционирование файла ................................... 514
10.2.5. Специализированные файлы ............................... 517

10.3. Работа с файлами изображений...................... 518

10.3.1. Информация о графическом файле – imfinfo........ 518
10.3.2. Чтение изображения из файла – imread ............... 520
10.3.3. Запись изображения в файл – imwrite .................. 522

10.4. Работа со звуковыми данными ........................ 526

10.4.1. Функции для работы со звуками .......................... 526

10.4.2. Функции звука в MATLAB 6.1/6.5 .......................... 526

10.4.3. Демонстрация возможностей работы со звуком ... 527

Урок 11. Типовые средства
программирования ................................................ 531

11.1. Основные понятия программирования .......... 532
Содержание
27

11.1.1. Назначение языка программирования MATLAB.... 532

11.1.2. Основные средства программирования .............. 533

11.1.3. Основные типы данных ........................................ 533

11.1.4. Виды программирования .................................... 535

11.1.5. Двойственность операторов, команд и функций ... 536

11.1.6. Некоторые ограничения ...................................... 537

11.1.7. Исполнение программных объектов .................... 538

11.2. Mфайлы сценариев и функций ....................... 538

11.2.1. Структура и свойства файловсценариев ............ 538
11.2.2. Структура Mфайлафункции............................... 540

11.2.3. Статус переменных в функциях............................ 541

11.2.4. Команда глобализации переменных global .......... 543

11.2.5. Использование подфункций ................................ 543
11.2.6. Частные каталоги ................................................ 544

11.3. Обработка ошибок и комментарии ................. 545

11.3.1. Вывод сообщений об ошибках ............................. 545

11.3.2. Функция lasterr и обработка ошибок .................... 546

11.3.3. Комментарии ...................................................... 547

11.4. Функции с переменным числом
аргументов .................................................................... 547

11.4.1. Функции подсчета числа аргументов ................... 547

11.4.2. Переменные varargin и varargout .......................... 549

11.5. Особенности работы с mфайлами ................ 550

11.5.1. Выполнение mфайловфункций ......................... 550

11.5.2. Создание Pкодов ............................................... 551

11.6. Управляющие структуры ................................... 552
Содержание
28

11.6.1. Диалоговый ввод................................................. 552

11.6.2. Условный оператор if…elseif…else…end .............. 553

11.6.3. Циклы типа for…end ............................................. 554

11.6.4. Циклы типа while…end ......................................... 556

11.6.5. Конструкция переключателя switch…case…end ... 558

11.6.6. Конструкция try…catch…end ................................ 559

11.6.7. Операторы break, continue и return....................... 560

11.6.8. Пустые матрицы в структурах if и while ................. 561

11.6.9. Создание паузы в вычислениях ........................... 561

11.7. Основы объектноориентированного
программирования ...................................................... 561

11.7.1. Основные понятия ............................................... 561

11.7.2. Классы объектов ................................................. 562

11.7.3. Создание класса или объекта .............................. 563

11.7.4. Проверка принадлежности объекта
к заданному классу ......................................................... 564

11.7.5. Другие функции объектноориентированного
программирования......................................................... 564

11.8. Handleи inlineфункции .................................... 565

11.8.1. Задание handleфункции ..................................... 565

11.8.2. Вычисление и применение handleфункций ......... 566

11.8.3. Inlineфункции ..................................................... 566

11.8.4. Преобразования handleи inlineфункций ............ 567

11.9. Отладка программ.............................................. 567

11.9.1. Общие замечания по отладке mфайлов.............. 567
11.9.2. Команды отладки программ ................................ 568
11.9.3. Вывод листинга mфайла
с пронумерованными строками ...................................... 568
Содержание
29

11.9.4. Установка, удаление и просмотр точек
прерывания .................................................................... 569

11.9.5. Управление исполнением mфайла ..................... 570

11.9.6. Просмотр рабочей области ................................. 570

11.9.7. Профилирование mфайлов ................................ 571

11.9.8. Создание итогового отчета ................................. 572

11.9.9. Построение диаграмм Парето ............................. 574

11.9.10. Работа с системой контроля версий .................. 574

11.10. Профилирование программ в MATLAB 7...... 575

11.10.1. Утилита профилирования программ Profiler
и ее запуск ..................................................................... 575
11.10.2. Пример профилирования программы ................ 576
11.10.3. Профилирование избранных функций
программы ..................................................................... 577
11.10.4. Профилирование строк общего
программного кода ........................................................ 577

11.11. Общение MATLAB с операционной системой .. 579

11.11.1. Работа с папками............................................... 579
11.11.2. Выполнение команд !, dos, unix и vms................. 580
11.11.3. Общение с Интернетом из командной строки .... 580
11.11.4. Некоторые другие команды ............................... 581

11.12. Поддержка Java ................................................ 582

11.12.1. Информация о средствах поддержки Java ......... 582
11.12.2. Javaобъекты ..................................................... 582
11.12.3. Специфика применения Javaобъектов ............. 584
11.12.4. Javaмассивы .................................................... 586

11.13. Компиляция MATLABпрограмм .................... 587

11.13.1. Для чего нужна компиляция MATLABпрограмм .... 587
Содержание
30

11.13.2. Конфигурирование расширения MATLAB
Compiler ......................................................................... 587

11.13.3. Компиляция mфайлафункции ......................... 588

11.13.4. Исполнение откомпилированного файла ........... 589

Урок 12. Визуальное программирование
GUI ................................................................................... 591

12.1. Средства визуального программирования
GUIDE.............................................................................. 592

12.1.1. Состав и назначение средств
программирования GUIDE .............................................. 592

12.1.2. Открытие окна инструмента GUIDE ...................... 593

12.1.3. Окно создания нового приложения с GUI ............. 594

12.1.4. Свойства объектов GUI ........................................ 597

12.1.5. Пример задания кнопки и работа
с инспектором свойств объектов .................................... 600

12.1.6. Вид всех компонентов и редактирование
их свойств ...................................................................... 602

12.2. Работа с заготовками примеров...................... 604

12.2.1. Простой пример вычисления массы вещества..... 604

12.2.2. Пример на построение графиков из списка ......... 609

12.3. Детальная работа с инструментом GUIDE ..... 612

12.3.1. Установка опций окна компонентов ..................... 612

12.3.2. Работа с меню File ............................................... 614

12.3.3. Ввод компонентов и их редактирование .............. 615

12.3.4. Средства обзора приложения ............................. 618

12.3.5. Операции разметки объектов .............................. 619

12.3.6. Операции позиции Tools меню ............................ 620
Содержание
31

12.3.7. Конструирование меню окна приложения с GUI ... 622

12.3.8. Конструирование контекстного меню окна
приложения с GUI ........................................................... 629

12.3.9. Применение рамки и группы кнопок .................... 634

12.3.10. Интерпретация программы приложения ............ 639

12.3.11. Несколько советов по созданию приложений
с GUI ............................................................................... 641

12.4. Стандартные диалоговые окна MATLAB ......... 642

12.4.1. Набор диалоговых окон ....................................... 642

12.4.2. Справка по диалоговым окнам и их свойства ....... 643

12.4.3. Работа с простыми диалоговыми окнами ............ 644

12.4.4. Диалоговые окна множественного типа............... 645

12.4.5. Диалоговые окна файловых операций ................. 647

12.4.6. Диалоговые окна установки цвета и шрифтов...... 649

12.4.7. Диалоговые окна параметров страницы и печати.... 650

12.4.8. Другие диалоговые окна...................................... 654

Урок 13. Обзор расширений MATLAB ........... 659

13.1. Состав расширений MATLAB ............................ 660

13.1.1. Классификация расширений системы
MATLAB+Simulink ............................................................ 660

13.1.2. Главный пакет расширения Simulink 5/6 .............. 660

13.2. Примеры работы с Simulink .............................. 662

13.2.1. Пример моделирования системы ВандерПоля ... 662

13.2.2. Nonlinear Control Design Blockset ......................... 663

13.2.3. Digital Signal Processing (DSP) Blockset ................ 665

13.2.4. Пакет расширения FixedPoint Blockset ................ 667
Содержание
32

13.2.5. Пакет расширения Stateflow ................................ 667
13.2.6. Пакет расширения SimPower System ................... 668

13.2.7. Report Generator для MATLAB и Simulink ............... 669
13.2.8. Real Time Windows Target и WorkShop ................... 670

13.3. Пакеты математических вычислений.............. 670

13.3.1. Symbolic Math Toolbox.......................................... 671
13.3.2. NAG Foundation Toolbox ....................................... 671

13.3.3. Spline Toolbox ...................................................... 672

13.3.4. Statistics Toolbox .................................................. 673

13.3.5. Optimization Toolbox ............................................. 674

13.3.6. Partial Differential Equations Toolbox ...................... 675

13.3.7. Fuzzy Logic Toolbox .............................................. 677

13.3.8. Neural Networks Toolbox ....................................... 678

13.4. Пакеты анализа и синтеза систем управления .. 680

13.4.1. Control System Toolbox ......................................... 680

13.4.2. Robust Control Toolbox ......................................... 682
13.4.3. Model Predictive Control Toolbox ........................... 684

13.4.4. Communications Toolbox....................................... 685

13.4.5. mAnalysis and Synthesis ....................................... 685
13.4.6. Quantitative Feedback Theory Toolbox.................... 686

13.4.7. LMI Control Toolbox .............................................. 686

13.5. Пакет идентификации систем .......................... 687

13.6. Пакеты для обработки сигналов
и изображений .............................................................. 689

13.6.1. Signal Processing Toolbox ..................................... 689

13.6.2. Image Processing Toolbox ..................................... 691

13.6.3. Wavelet Toolbox .................................................... 695
Содержание
33

13.7. Прочие пакеты прикладных программ ........... 699

13.7.1. Financial Toolbox .................................................. 699
13.7.2. Mapping Toolbox .................................................. 700
13.7.3. Data Acquisition Toolbox и Instrument Control
Toolbox ........................................................................... 701
13.7.4. Database toolbox .................................................. 703
13.7.5. Excel Link ............................................................. 703
13.7.6. Virtual Reality Toolbox............................................ 703
13.7.7. MATLAB Compiler ................................................. 704

13.8. Пакеты расширения MATLAB 6.5 ..................... 704

13.8.1. Curve Fitting Toolbox ............................................. 704

13.8.2. Instrument Control Toolbox .................................... 706

13.8.3. Developer’s Kit for Texas Instruments DSP .............. 707

13.8.4. Dials & Gauges Blockset ........................................ 708

13.8.5. Mechanical System Blockset.................................. 708

13.9. Новейшие пакеты расширения
MATLAB 7+Simulink 6 .................................................... 709

13.9.1. Назначение и возможности пакета
Bioinformatics Toolbox ..................................................... 709

13.9.2.  Пакет расширения Genetic Algorithm and Direct
Search Toolbox ................................................................ 711

13.9.3.  Пакет расширения Video and Image Processing
Blockset .......................................................................... 713

Урок 14. Стыковка MATLAB
с измерительными приборами........................ 717

14.1. Работа измерительных приборов
с системой MATLAB ..................................................... 718
Содержание
34

14.1.1. Современные измерительные приборы............... 718

14.1.2. Порты для подключения измерительных
приборов к компьютеру .................................................. 719

14.2. Стыковка компьютера с цифровым
осциллографом ............................................................ 721

14.2.1. Современные цифровые осциллографы
с USBпортом ................................................................. 721

14.2.2. Применение пакета расширения MATLAB –
Instrument Control Toolbox ............................................... 722

14.2.3. Идентификация осциллографа ............................ 723

14.2.4. MATLABпрограммы для работы с цифровыми
осциллографами ............................................................ 724

14.2.5. Спектральный анализ осциллограмм в MATLAB ... 728

14.2.6. Построение спектрограмм осциллограмм
в MATLAB ........................................................................ 732

14.3. Управление генераторами произвольных
сигналов от системы MATLAB .................................... 735

14.3.1. От множества генераторов к одному генератору
произвольных сигналов .................................................. 735

14.3.2. Управление генераторами серии AFG3000
от системы MATLAB ........................................................ 736

14.4. Применение MATLAB при совместной
работе генератора и цифрового осциллографа .... 739

14.5. Встраивание MATLAB в осциллографы,
построенные на основе платформы ПК ................... 741

Список литературы ................................................ 743

Предметный указатель ........................................ 747
Введение

Среди бурно развивающихся систем компьютерной математики СКМ [1], в первую
очередь ориентированных на численные расчеты, особо выделяется матричная математическая система MATLAB. Изза большого числа поставляемых с системой
пакетов расширения MATLAB (в новейшей реализации MATLAB R2007a,b их уже 82)
эта система является и самой большой из СКМ, ориентированных на персональные компьютеры. Объем ее файлов уже превышает 3 Гб. Система фактически стала мировым стандартом в области современного математического и научнотехнического программного обеспечения.

Эффективность MATLAB обусловлена прежде всего ее ориентацией на матричные вычисления [2, 3] с программной эмуляцией параллельных вычислений и
упрощенными средствами задания циклов. Последние версии системы поддерживают 64разрядные микропроцессоры и многоядерные микропроцессоры, например Intel Core 2 Duo и Quad, что обеспечивает высочайшие показатели по скорости вычислений и скорости математического имитационного моделирования.

В MATLAB удачно реализованы средства работы с многомерными массивами,

большими и разреженными матрицами и многими типами данных. Система прошла многолетний путь развития от узко специализированного матричного программного модуля, используемого только на больших ЭВМ, до универсальной
интегрированной СКМ, ориентированной на массовые персональные компьютеры класса IBM PC, AT и Macintosh, рабочие станции UNIX и даже суперкомпьютеры. MATLAB имеет мощные средства диалога, графики и комплексной визуализации вычислений.

Система MATLAB предлагается разработчиками (корпорация The MathWorks,

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

Типовой комплекс MATLAB + Simulink (рис. 0.1) содержит инструментальные

«ящики» Toolboxes с большим числом пакетов расширения MATLAB и Bloсksets
для расширения возможностей системы визуальноориентированного блочного
имитационного моделирования динамических систем Simulink. Они приобретаются избранно и отдельно от системы MATLAB + Simulink. В разработке пакетов
расширения для MATLAB принимают участие многие научные школы мира и ве
Введение
36

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

В России первой книгой по системе MATLAB стала небольшая книга автора

[4], выпущенная еще в 1993 г. В последующие полтора десятка лет было опубликовано множество книг по различным версиям этой мощной и бурно развивающейся системы [5–49]. Так, только на Webузле корпорации The The MathWorks,
Inc., разработавшей эту систему, указано уже более 1000 книг. Среди них есть и
книги автора (рис. 0.2), подготовленные в рамках программы поддержки подготовки книг корпорации The The MathWorks, Inc. (далее просто The MathWorks).

К сожалению, в России мало публикаций по новейшим версиям системы

MATLAB и ее расширению Simulink. Лишь после 1997 г. появился ряд книг по
системам MATLAB и отдельным пакетам расширения этой системы [4–43]. Из
них следует особо отметить трехтомник автора [13–15] по версиям MATLAB 6.* и
пятитомник по MATLAB 6.5 и (обзорно) по MATLAB 7.0 [16–20]. Последние версии системы относятся к классу систем MATLAB 7.*, так как система MATLAB 7.5
имеет второе название MATLAB R2007b. Это указывает на то, что системы
MATLAB 7.* имеют куда общие возможности, чем различия, что и делает целесообразным описание их в одной книге.

Увы, но объем книг по системе MATLAB и пакетам ее расширения непрерывно

растет, как и их стоимость. Достаточно отметить, что последние книги только по
сиcтеме MATLAB 7.0 (без пакетов расширения) учебного характера имеют объем
более 1100 [28] и более 750 [29] страниц. Пять упомянутых томов автора по системе MATLAB с пакетами расширения насчитывают уже более 2800 страниц [16–
20] и, будучи ориентированными на профессионалов, выпущены в твердом переплете небольшим тиражом. Разумеется, такие книги довольно дороги и не очень
доступны.

Рис. 0.1. Структура системы MATLAB + Simulink
Введение
37

Фирменная документация по системе (англоязычная) представлена уже многими десятками книг, например [44–49]. Она настолько разрослась, что разработчики
MATLAB были вынуждены прекратить поставки ее в виде PDFфайлов на отдельном CDROM (и даже DVD в последних версиях MATLAB R2007a,b) и разместили
ее на своем интернетсайте. Однако изза большого объема ее файлов скачать документацию весьма проблематично даже для тех наших пользователей, которые имеют доступ в Интернет. Кроме того, вся фирменная документация англоязычная и
труднодоступна для чтения и перевода, так как содержит огромное число специальных англоязычных терминов, перевод которых отнюдь не прост и не тривиален.

Все это делает книги по MATLAB доступными лишь для малой части наших

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

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

Рис. 0.2. Книги автора по системе MATLAB

и пакетам ее расширения на интернетсайте корпорации The MathWorks
Введение
38

монографиях и т. д. И автор многие годы старался подготовить книги по MATLAB
разного назначения и стиля.

Но особенно желательным является издание серии относительно небольших

учебных курсов и самоучителей по системе MATLAB и ее приложениям. Что касается учебных курсов, то, несмотря на полезный опыт подготовки их по старым
версиям MATLAB [7, 8], почвы для такого рода книг в России пока нет. Это связано с тем, что в подавляющем большинстве наших вузов и университетов в их учебных программах изучение специальных курсов по MATLAB не предусмотрено.
А в курсах по численным методам и математическому моделированию чаще всего
предполагается, что система MATLAB будет изучаться студентами самостоятельно или в ходе выполнения вычислительной практики. В самостоятельном изучении MATLAB заинтересованы также инженеры, научные работники, аспиранты и
преподаватели университетов и вузов. Именно поэтому подготовка серии самоучителей по такой мощной системе, как MATLAB, представляется весьма своевременной и наиболее полезной в наше время.

Данная книга первая в этой серии книг. Она основана на материале книг

[8, 16], но посвящена только базовой системе MATLAB (вторая книга этой серии
будет посвящена пакету расширения Simulink). В ней впервые в нашей литературе описаны новейшие реализации системы MATLAB R2006/2006a/2006b/2007a/
2007b и ее как общие, так и специальные применения. Указанные версии системы
имеют практически одинаковые (в рамках самоучителя) возможности и некоторые описанные в книге отличия в интерфейсе. По возможности сохранены наглядные примеры применения системы MATLAB из прежних книг, но в эту книгу
включено множество и новых примеров, особенно программ на языке программирования системы.

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

• ориентация на описание системы MATLAB прежде всего как языка программирования, ориентированного на массовые численные методы вычислений и научнотехнические расчеты;

• компактность материала при сохранении достаточной полноты изложения

подлежащего изучению материала и справочных данных;

• описание новейших реализаций системы MATLAB R2006/2006a/2006b/

2007a/2007b;

• ориентация основного материала книги на текущие версии MATLAB с выделением и достаточно полным описанием новаций самых последних версий MATLAB R2007a,b;

• более систематизированное изложение материала;
• значительно расширенный материал по численному решению дифференциальных уравнений различного типа;

• описание большого числа новых примеров для новейших реализаций

MATLAB;
Введение
39

• описание впервые в нашей литературе применения системы MATLAB в измерительной технике (урок 14);

• введение ряда новых материалов по визуальноориентированному программированию средств графического интерфейса пользователя – GUI;

• расширенный обзор пакетов расширения, в который включен ряд новейших пакетов расширения, появившихся только в последних реализациях
MATLAB;

• доступность основного материала пользователям предшествующих версий

MATLAB 6.*;

• исключение из книги ряда несущественных деталей, которые затрудняют

изучение системы MATLAB и с которыми можно познакомиться самостоятельно по ее обширной справке;

• разделение материала книги на отдельные уроки, каждый из которых, в зависимости от глубины изучения материала, может потребовать примерно
от 4 до 6 часов занятий.

Внедрение системы MATLAB в учебный процесс вузов России и стран СНГ

находится лишь в начальной стадии. В большинстве наших вузов и университетов пока нет отдельного курса по этой системе, но спецкурсы по ней коегде уже
появились. Как правило, изучение MATLAB выполняется студентами самостоятельно в рамках курсов по численным методам вычислений и математическому
моделированию. В таком изучении заинтересованы и преподаватели университетов и вузов, аспиранты, научные работники и инженеры. Им и адресована данная
книга. Она может служить не только самоучителем по системе MATLAB, но и достаточно полным учебным курсом по этой системе и даже кратким справочником
по ней. Подробное оглавление книги вполне заменяет тематический указатель.
Благодарности
и адреса для связи

Автор выражает благодарность представителям корпорации The The MathWorks,
Inc., Courtney Esposito, Naomi Fernandes и Meg Vulliez. Подготовка автором книг
по системе MATLAB и ее расширениям уже многие годы включается в планы поддержки этой корпорацией издания книг по системе MATLAB в разных странах
мира и обеспечивается самыми свежими лицензионными программными средствами с обширной документацией по ним. В частности, благодаря этому автор
заведомо получил новейшие реализации системы MATLAB, описанные в данной
книге, и смог своевременно и достаточно полно проработать данный материал
к моменту широкого появления их на нашем рынке.

Доктору технических наук, профессору Владимиру Круглову и кандидату

физикоматематических наук, доценту Роману Кристалинскому автор выражает
признательность за постоянный обмен мнениями и просмотр некоторых материалов этой книги. Автор благодарит также Генерального директора ЗАО «Смоленский Телепорт» (www.keytown.com) Григория Рухамина за предоставление услуг
Интернета в ходе работы над книгой, что позволило посредством прямой оперативной связи с сайтом фирмы The MathWorks, Inc., быть в курсе обновлений системы MATLAB и использовать самую свежую информацию.

С автором можно связаться по электронной почте (vpdyak@keytown.com). Автор заранее выражает признательность всем читателям, которые готовы сообщить
свое открытое мнение о данной книге и поделиться соображениями по ее улучшению. К анонимным репликам в свой адрес автор относится отрицательно, полагая,
что дискуссия по книгам научного и учебного характера может быть только открытой и честной.

Кроме электронной почты, замечания можно направлять по месту работы автора: 214000, г. Смоленск, ул. Пржевальского, 4, Смоленский государственный
университет. Вы можете отправлять свои письма и по адресу издательства, выпустившего книгу.

Связаться с фирмой The MathWorks вы можете, посетив сайт www.mathworks.com.

Ее официальные почтовые реквизиты следующие:

The The MathWorks, Inc.
3 Apple Hill Drive
Natick, MA, 017602098 USA
Tel: 5086477000
Fax: 5086477101
Email: info@The MathWorks.com
Доступ онлайн
349 ₽
В корзину