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

2012-2013 / Литература / В. Дьяконов MATLAB Математические пакеты расширения Matlab

.pdf
Скачиваний:
438
Добавлен:
12.03.2015
Размер:
26.88 Mб
Скачать

В.Дьяконов, В.Круглов

МАТЕМАТИЧЕСКИЕ ПАКЕТЫ РАСШИРЕНИЯ MATLAB. СПЕЦИАЛЬНЫЙ СПРАВОЧНИК

Книга известных специалистов, педагогов с большим стажем в справочной форме описывает ряд пакетов расширения MATLAB. Впервые в одной книге описаны пакеты Notebooks, Symbolic, Simulink, Neural Net, Fuzzy Logic Toolbox, Optimization Toolbox и Statistics Toolbox. Эти пакеты существенно расширяют возможности системы MATLAB при выполнении массовых математических вычислений и моделировании сложных объектов и систем — как обычных, так и использующих новые подходы: нечеткую логику и нейронные сети. Особое внимание уделено визуализации математических вычислений и их теоретическому обоснованию.

Книга рекомендуется широкому кругу читателей — студентам университетов и вузов, инженерам, научным работникам.

Краткое содержание

Введение

19

Глава 1 Основы работы с системой MATLAB

24

Глава 2. Расширение Notebook

84

Глава 3. Пакет расширения Symbolic Math

100

Глава 4. Пакет расширения Simulink

155

Глава 5. Пакет расширения по нейронным сетям

199

Глава 6. Пакет нечеткой логики Fuzzy Logic Toolbox

292

Глава 7. Пакет оптимизации Optimization Toolbox

376

Глава 8. Пакет Statistics Toolbox

437

Алфавитный указатель

467

Содержание

 

Введение

19

Предупреждения

21

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

22

От издательства

23

Глава 1 Основы работы с системой MATLAB

24

Ориентация на матричные операции

24

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

25

Запуск MATLAB

27

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

28

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

28

MATLAB как мощный калькулятор

29

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

31

Типы данных системы MATLAB

31

Числа целые и вещественные

31

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

32

Числа комплексные

32

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

32

Строки и текстовые комментарии

33

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

34

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

35

Операторы и функции

36

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

38

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

40

Простейшие приемы работы с векторами и матрицами

41

Особенности задания векторов и матриц

41

Доступ к отдельным элементам

42

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

44

Сессия MATLAB

44

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

45

Ведение дневника

45

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

47

Завершение работы с системой

48

Работа со справочной системой MATLAB

48

Вызов списка примеров интерактивной справки

48

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

49

Справка по определенной группе объектов

49

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

50

Некоторые дополнительные справочные команды

50

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

52

Пример — тест на быстродействие компьютера

52

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

53

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

53

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

53

Просмотр документации в формате PDF

55

Демонстрационные примеры

55

Команда demo

55

Ознакомительная система MATLAB Tour

57

Пользовательский интерфейс

57

Панель инструментов

57

Кнопки работы с файлами

58

Работа с буфером обмена

59

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

60

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

61

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

62

Меню системы

63

Меню, операции и команды

63

Меню File

64

Операции с рабочей областью

65

Настройка MATLAB и операция Preferences

65

Операции печати

66

Меню Edit — средства редактирования документов

66

Меню View и Window

67

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

67

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

68

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

68

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

69

Работа с точками останова

71

Графика системы MATLAB

72

Особенности графики системы MATLAB

72

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

73

Построение графиков функций одной переменной

75

Построение гистограммы

76

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

77

Вращение графиков мытью

78

Редактор свойств графикой

79

Управление форматом графиков

80

Глава 2. Расширение Notebook

84

Назначение расширения Notebook

84

Создание Notebook

85

Демонстрация возможностей Notebook

87

Эволюция магической матрицы

87

Эволюция рисунка

88

Создание новых документов класса Notebook

90

Открытие нового документа класса Notebook

90

Пример создания документа класса Notebook

90

Ячейки ввода MATLAB в тексте Word

91

Преобразование текстов Word в ячейки ввода

92

Сохранение документов класса Notebook

92

Меню Notebook

93

Создание ячейки ввода

93

Создание ячейки автостарта

93

Создание зоны вычислений

93

Преобразование ячеек MATLAB в обычный текст

94

Удаление ячеек вывода

94

Создание многострочной ячейки ввода

'94

Преобразование группы ячеек в ячейки ввода

94

Управление показом маркеров

44

Пуск оценки ячеек

45

Пуск оценки зоны

45

Пуск оценки всей М-книги

45

Циклическая оценка

45

Вывод окна MATLAB на передний план

47

Установка опций Notebook

98

Глава 3. Пакет расширения Symbolic Math

100

Назначение пакета Symbolic Math

100

Демонстрационные примеры

101

Работа с объектами и переменными

101

Задание символьных переменных

101

Функция создания символьных переменных sym

102

Функция создания группы символьных объектов syms

104

Функция создания списка символьных переменных findsum

104

Функции вывода и преобразования символьных выражений

105

Функция вывода символьного выражения pretty

105

Функция представления выражений в форме LaTeX

10G

Функция представления выражений в кодах языка C — ccode

107

Функция представления выражений в кодах языка Fortran

107

Контроль допустимости имен — isvarname

108

Векторизация символьных выражений — vectorize

108

Арифметика произвольной точности

108

Установка количества знаков чисел — digits

108

Вычисления в арифметике произвольной точности — vpa

109

Символьные операции с матрицами

110

Задание или извлечение диагональных элементов матриц — diag

110

Формирование верхней треугольной матрицы — triu

111

Формирование нижней треугольной матрицы — tril

112

Обращение матрицы — inv

112

Вычисление детерминанта матрицы — det

112

Вычисление ранга матрицы — rank

113

Приведение матрицы к верхней треугольной форме — rref

113

Нуль-пространство матрицы — null

114

Базис-пространство столбцов — colspace

114

Вычисление собственных значений и векторов матриц — eig

115

Сингулярное разложение матриц — svd

116

Вычисление канонической формы Жордана — Jordan

117

Вычисление характеристического полинома матриц — poly

117

Вычисление матричного экспоненциала — expm

118

Символьные операции математического анализа

118

Функция вычисления производных — diff

118

Функция вычисления интегралов — hit

119

Функция вычисления пределов — limit

120

Функция разложения выражения в ряд Тейлора — taylor

122

Функция вычисления матрицы Якоби — jacobian

123

Функция вычисления сумм рядов — symsum

124

Решение алгебраических уравнений — solve

124

Решение дифференциальных уравнений — dsolve

126

Интегральные преобразования

127

Прямое преобразование Фурье;— fourier

127

Обратное преобразование Фурье — ifourier

128

Прямое преобразование Лапласа — laplace

129

Обратное преобразование Лапласа — ilaplace

130

Z-преобразование — ztrans

131

Обратное z-преобразование — iztrans

131

Символьные операции с выражениями

132

Функция упрощения выражений — simplify

132

Функция расширения выражений — expand

133

Разложение выражений на простые множители — factor

133

Комплектование по степеням — collect

133

Упрощение выражений — simple

134

Приведение к рациональной форме — numden

134

Приведение к схеме Горнера — horner

135

Запись с подстановками — subexpr

135

Обеспечение подстановок — subs

135

Обращение функции — finverse

136

Суперпозиция функций — compose

137

Специальные возможности

137

Преобразование символьной матрицы в числовую — double

138

Преобразование вектора коэффициентов полинома в символьный

138

полином — poly2sym

 

Преобразование символьного полинома в вектор его коэффициентов

139

— sym2poly

 

Преобразование символьного объекта в строковый — char

139

Вычисление специальных функций

139

Интегральный синус — sinint

139

Интегральный косинус — cosint

140

Дзета-функция Римана — zeta

140

W-функция Ламберта — lambertw

140

Суммы Римана — rsums

141

Графические возможности пакета расширения Symbolic Math

141

Графики символьных функций — ezplot

141

Калькулятор и графопостроитель — funtool

142

Контурные графики — ezcontour

146

Контурные графики с закраской — ezcontourf

147

Трехмерные графики параметрически заданных функций — ezplot3

147

Полярный график — команда ezpolar

148

Графики поверхностей — ezsurf и ezsurfc

149

Доступ к ресурсам ядра системы Maple V

151

Доступ к ядру системы Maple V — maple

152

Численное вычисление Maple-функций — mfun

152

Вызов списка функций Maple V — mfunlist

153

Получение справки по ядру Maple V — mhelp

153

Инсталляция Maple-процедур — procread

153

Глава 4. Пакет расширения Simulink

155

Назначение пакета Simulink

155

Новые возможности Simulink 3.1

157

Интеграция пакета Simulink с системой MATLAB

158

Решатель систем дифференциальных уравнений

160

Особенности интерфейса Simulink

160

Демонстрация возможностей Simulink

161

Запуск моделей Simulink из среды MATLAB

164

Библиотека компонентов пакета Simulink

165

Основная палитра компонентов

165

Источники сигналов и воздействий

167

Регистрирующие элементы

168

Дискретные компоненты

170

Линейные компоненты

170

Нелинейные компоненты

171

Математические компоненты

173

Подключающие компоненты

173

Компоненты функций и таблиц

174

Внешние библиотеки и готовые решения

174

Основы работы

176

Постановка задачи — моделирование ограничителя

176

Создание модели устройства (системы)

177

Запуск модели

181

Модернизация и расширение модели

184

Некоторые приемы редактирования модели

185

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

187

Построение фигур Лиссажу

187

Моделирование колебательной системы второго порядка

188

Работа с решателем и редактором дифференциальных уравнений

191

Моделирование работы автопилота самолета F14

192

Применение подсистем

193

Использование S-функции

194

Применение специальных преобразователей сигналов

195

Еще один пример сложной системы

196

Моделирование работы унитаза

198

Глава 5. Пакет расширения по нейронным сетям

199

Назначение пакета Neural Networks Toolbox

199

Биологический нейрон

201

Структура и свойства искусственного нейрона

202

Классификация нейронных сетей и их свойства

205

Топология нейронных сетей

208

Обучение нейронных сетей

214

Алгоритм обратного распространения

216

Переобучение и обобщение нейронных сетей

218

Обучение без учителя

221

Применение нейросетей

222

Области применения нейросетей: классификация

222

Кластеризация и поиск зависимостей :

223

Прогнозирование

224

Персептроны

224

Нейронные сети встречного распространения

229

Функционирование сети

230

Обучение слоя Кохонена

231

Обучение слоя Гроссберга

232

Модификации

233

Нейронные сети Хопфилда и Хэмминга

233

Сеть с радиальными базисными элементами

238

Вероятностная нейронная сеть

241

Обобщенно-регрессионная нейронная сеть

243

Линейные НС

244

Функции пакета Neural Networks Toolbox

244

Обзор функций пакета Neural Networks Toolbox

244

Функции активации (передаточные функции) и связанные с ними

245

функции

 

Функции обучения нейронных сетей

248

Функции настройки слоев нейронов

252

Функции одномерной оптимизации

254

Функции инициализации слоев и смещений

255

Функции создания нейронных сетей

256

Функции преобразования входов сети

260

Функции весов и расстояний

261

Функции размещения нейронов (топологические функции)

262

Функции использования нейронных сетей

264

Графические функции

266

Прочие функции

270

Примеры создания и использования нейронных сетей

272

Нейронные сети для аппроксимации функций

272

Прогнозирование значений процесса

274

Использование слоя Кохонена

276

Сеть Хопфилда с двумя нейронами

277

Классификация с помощью персептрона

279

Адаптивный линейный прогноз

280

Использование сети Элмана

282

Задача классификации: применение сети встречного

285

распространения

 

Создание и использование самоорганизующейся карты

286

Использование Simulink при построении нейронных сетей

287

Блоки функций активации (Transfer Functions)

288

Блоки преобразования входов сети

288

Блоки весовых коэффициентов

289

Формирование нейросетевых моделей

289

Глава 6. Пакет нечеткой логики Fuzzy Logic Toolbox

292

Назначение и возможности пакета Fuzzy Logic Toolbox

292

Нечеткая информация и выводы

292

Нечеткие множества

294

Функции принадлежности нечеткой логики

296

Операции над нечеткими множествами

298

Логические операции

298

Алгебраические операции

301

Нечеткие отношения

301

Операции над нечеткими отношениями

302

Объединение двух отношений

302

Пересечение двух отношений

303

Алгебраическое произведение двух отношений

303

Алгебраическая сумма двух отношений

303

Дополнение отношения

303

Обычное отношение, ближайшее к нечеткому

303

Композиция (свертка) двух нечетких отношений

303

(max-*)-композиция

304

Нечеткие выводы

305

Алгоритм Мамдани (Mamdani)

307

Алгоритм Сугэно (Sugeno)

308

Методы приведения к четкости

309

Эффективность систем принятия решений

310

Гибридные сети

311

Графический интерфейс Fuzzy Logic Toolbox

314

Состав графического интерфейса

314

Построение нечеткой аппроксимирующей системы

315

Построение экспертной системы: сколько дать «на чай»?

322

Экспорт и импорт результатов

328

Создание пользовательских функций принадлежности

328

Графический интерфейс гибридных систем

329

Графический интерфейс программы кластеризации

336

Работа с Fuzzy Logic Toolbox в режиме командной строки

338

Возможности работы в режиме командной строки

338

Функции вызова программ графического интерфейса

338

Задание функций принадлежности

339

Функции систем нечеткого вывода

348

Функции сохранения, открытия и использования созданной системы

348

Функции использования графического окна

348

Функции создания, просмотра структуры и редактирования систем

350

нечеткого вывода

 

Дополнительные функции

356

Функция создания и/или обучения гибридных сетей с архитектурой

356

ANFIS

 

Функция кластеризации

360

Функция генерации FIS-структуры

361

Функция генерации структуры нечеткого вывода

363

Функция возврата центров кластеров

364

Сервисные функции

366

Функции вызова диалоговых окон интерфейса

389

Работа Fuzzy Logic с Sinuilink

370

Пример: контроль уровня воды в бакс

370

Построение нечеткой модели с использованием блоков Simulink

374

Демонстрационные примеры работы с пакетом Fuzzy Logic Toolbox

374

Глава 7. Пакет оптимизации Optimization Toolbox

376

Назначение и возможности пакета

376

Применяемые алгоритмы

379

Общая формулировка задачи параметрической оптимизации

380

Безусловная оптимизация

380

Ньютоновские алгоритмы

382

Алгоритмы Ньютона— Гаусса и Левснберга— Марквардта

383

Минимизация при наличии ограничений

383

Многокритериальная оптимизация

384

Алгоритмы большой размерности

385

Функции пакета Optimization Toolbox

387

Функции минимизации

387

Функции решения уравнений

403

Функции наименьших квадратов (подбора кривых)

407

Функции-утилиты

412

Демонстрационные функции

413

Примеры решения оптимизационных задач

415

Минимизация без ограничений

415

Минимизация с ограничениями в форме нелинейных неравенств

416

Минимизация с дополнительными ограничениями на диапазоны

417

изменения переменных

 

Использование вектора-градиента, аналитически задаваемого

418

пользователем

 

Задача достижения цели

420

Решение системы нелинейных уравнений с заданием якобиана

423

Решение системы нелинейных уравнений с представлением оценки

425

якобиана в виде разреженной матрицы

 

Нелинейный МНК с вычислением оценок всех элементов якобиана

426

Минимизация нелинейной функции с использованием градиента и

426

гессиана

 

Нелинейная оптимизация с использованием разреженных образов

429

градиента и гессиана

 

Нелинейная минимизация с ограничениями в виде линейных

431

равенств

 

Задача квадратичного программирования при наличии ограничений

432

на диапазоны изменений переменных

 

 

Решение задачи линейного программирования

432

Некоторые рекомендации по использованию функций пакета

433

Использование inline-функции вместо m-файла

433

Решение задач максимизации

 

434

Приведение ограничений-неравенств к стандартному виду

434

Введение дополнительных аргументов (глобальные переменные)

435

Соответствия между версиями пакета 1.5 и 2.0

435

Глава 8. Пакет Statistics Toolbox

 

437

Назначение пакета Statistics Toolbox

 

437

Распределения вероятностей

 

437

Функции плотности вероятности

 

438

Функции распределения вероятностей

 

439

Функции, обратные к интегральным функциям распределения

440

Генерация случайных чисел

 

440

Среднее и дисперсия как функции распределения

441

Функции оценки параметров закона распределения

441

Дескриптивная статистика

 

441

Кластерный анализ

 

444

Линейные модели

 

448

Функция rstool

 

449

Функция stepwise

 

450

Нелинейные регрессионные модели

 

452

Проверка гипотез

 

452

Многомерные статистики

 

453

Метод главных компонент

 

454

Статистические графики

 

455

Статистический контроль в промышленности

458

Планирование эксперимента

 

460

Демонстрационные примеры

 

463

Функции записи/чтения файлов данных

 

464

Алфавитный указатель

 

467

Алфавитный указатель

 

-, унарный минус и знак вычитания,

C

 

32

char, функция преобразования

 

... (многоточие), оператор переноса

объекта в строку, 139

 

строки, 31

clc, команда, 28

 

./, оператор, 39

Clear Session, команда, 60

 

: (двоеточие), оператор задания

clear, команда, 35

 

последовательностей, 38

collect, функция комплектования по

A

степеням, 133

 

ANFIS, 313, 330, 331, 332, 356

compose, функция суперпозиции, 137

ans, переменная, 30

Сору, кнопка и команда, 59