Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала прогаммирования в среде MatLab / Начала программирования в среде MatLab.pdf
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
5.66 Mб
Скачать

Содержание

3

Содержание

Предисловие

6

Вступление

8

1. MatLAB как научный калькулятор

11

1.1. Командное окно

11

1.2. Операции с числами

12

1.2.1. Ввод действительных чисел

12

1.2.2. Простейшие арифметические действия

14

1.2.3. Ввод комплексных чисел

16

1.2.4. Элементарные математические функции

17

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

18

1.2.6. Элементарные действия с комплексными числами

20

1.2.7. Функции комплексного аргумента

20

1.2.8. Задания

21

1.2.9. Вопросы

28

1.3. Простейшие операции с векторами и матрицами

29

1.3.1. Ввод векторов и матриц

29

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

30

1.3.3. Извлечение и вставка частей матриц

34

1.3.4. Действия над векторами

36

1.3.5. Поэлементное преобразование матриц

39

1.3.6. Матричные действия над матрицами

41

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

43

1.3.8. Задания

44

1.3.9. Вопросы

46

1.4. Функции прикладной численной математики

47

1.4.1. Операции с полиномами

47

1.4.2. Обработка данных измерений

50

1.4.3. Функции линейной алгебры

54

1.4.4. Аппроксимация и интерполяция данных

63

1.4.5. Векторная фильтрация и спектральный анализ

66

1.4.6. Задания

71

1.4.7. Вопросы

74

1.5. Построение простейших графиков

75

1.5.1. Процедура plot

75

1.5.2. Специальные графики

78

1.5.3. Дополнительные функции графического окна

83

1.5.4. Вывод графиков в печать

85

1.5.5. Задания

85

1.5.6. Вопросы

85

1.6. Операторы управления вычислительным процессом

86

1.6.1. Оператор условного перехода

86

1.6.2. Оператор переключения

88

1.6.3. Операторы цикла

88

1.6.4. Задания

90

1.6.5. Вопросы

92

2. Программирование в среде MatLAB

93

2.1. Функции функций

93

2.2. Создание М-файлов

96

2.2.1. Особенности создания М-файлов

96

2.2.2. Основные особенности оформления М-файлов

97

2.3. Создание простейших файлов-функций (процедур)

99

2.3.1. Общие требования к построению

99

2.3.2. Типовое оформление процедуры-функции

101

2.3.3. Задания

102

2.3.4. Вопросы

103

2.4. Создание Script-файлов

103

2.4.1. Основные особенности Script-файлов

103

2.4.2. Ввод и вывод информации в диалоговом режиме

104

Содержание

4

2.4.3. Организация повторения действий

106

 

2.4.4. Организация изменения данных в диалоговом режиме

107

 

2.4.5. Типовая структура и оформление Script-файла

110

 

2.5. Графическое оформление результатов

111

 

2.5.1. Общие требования к представлению графической информации

111

 

2.5.2. Разбивка графического окна на подокна

113

 

2.5.3. Вывод текста в графическое окно (подокно)

114

 

2.6. Создание функций от функций

118

 

2.6.1. Процедура feval

118

 

2.6.2. Примеры создания процедур от функций

119

 

2.6.3. Задания

124

 

2.7. Пример создания сложной программы

130

 

2.7.1. Программа моделирования движения маятника

131

 

2.7.2. Задания

140

 

3. Интерфейс MatLAB и команды общего назначения. М-книг

141

3.1. Функции меню командного окна

141

 

3.1.1. Меню "File"

141

 

3.1.2. Другие меню командного окна

151

 

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

155

 

3.2. Команды общего назначения

155

 

3.3. Создание М-книги

157

 

3.3.1. Начало новой М-книги

157

 

3.3.2. Написание М-книги

158

 

3.3.3. Редактирование М-книги

160

 

3.3.4. Преобразование документа WORD в М-книгу

160

 

3.3.5. Некоторые особенности использования системы MatLAB

160

 

3.3.6. Изменение параметров вывода результатов

161

 

4. Классы вычислительных объектов

162

4.1. Основные классы объектов

162

 

4.1.1. Класс символьных строк (char)

163

 

4.1.2. Класс записей (struct)

166

 

4.1.3. Класс ячеек (cell)

168

 

4.2. Производные классы MatLAB

171

 

4.2.1. Класс объектов Inline

171

 

4.2.2. Классы пакета CONTROL

174

 

4.3. Пример создания нового класса polynom

178

 

4.3.1. Создание подкаталога @polynom

178

 

4.3.2. Создание конструктора

178

 

4.3.3. Создание процедуры символьного представления polynom-объекта

180

 

4.4. Создание методов нового класса

182

 

5. Цифровая обработка сигналов (пакет Signal Processing Toolbox)

188

5.1. Формирование типовых процессов

190

 

5.1.1. Формирование одиночных импульсных процессов

190

 

5.1.2. Формирование колебаний

193

 

5.2. Общие средства фильтрации. Формирование случайных процессов

199

 

5.2.1. Основы линейной фильтрации

199

 

5.2.2. Формирование случайных процессов

205

 

5.3. Процедуры спектрального (частотного) и статистического анализа процессов

208

 

5.3.1. Основы спектрального и статистического анализа

208

 

5.3.2. Примеры спектрального анализа

212

 

5.3.3. Статистическийанализ

221

 

5.4. Проектирования фильтров

223

 

5.4.1. Формы представления фильтров и их преобразования

223

 

5.4.2. Разработка аналоговых фильтров

227

 

5.4.3. Проектирование БИХ-фильтров

233

 

5.4.4. Проектирование КИХ-фильтров

237

 

5.5. Графические и интерактивные средства

245

 

5.5.1. Графические средства

245

 

5.5.2. Интерактивная оболочка SPTOOL

257

 

6. Исследование линейных стационарных систем (пакет Control Toolbox)

270

Содержание

5

6.1. Ввод и преобразование моделей

272

 

6.2. Получение информации о модели

286

 

6.3. Анализ системы

288

 

6.4. Интерактивный "обозреватель" ltiview

295

 

6.5. Синтез системы

303

 

7. Моделирование нелинейных систем (пакет SimuLINK)

308

7.1. Общая характеристика пакета SimuLink

308

 

7.1.1. Запуск SimuLink

308

 

7.1.2. Библиотека модулей (блоков)

310

 

7.1.3. Раздел Sinks (Приемники)

312

 

7.1.4. Раздел Sources (Источники)

321

 

7.1.5. Раздел Continuous

336

 

7.1.6. Раздел Discrete

339

 

7.1.7. Раздел Math

340

 

7.1.8. Раздел Functions & Tables

345

 

7.1.9. Раздел Nonlinear

346

 

7.1.10. Раздел Signals & Systems

349

 

7.2. Построение блок-схем

352

 

7.2.1. Выделение объектов

352

 

7.2.2. Оперирование с блоками

353

 

7.2.3. Проведение соединительных линий

357

 

7.2.4. Проставленние меток сигналов и комментариев

359

 

7.2.5. Создание подсистем

362

 

7.2.6. Запись и распечатка S-модели

363

 

7.3. Примеры моделирования

363

 

7.3.1. Моделирование поведения физического маятника

363

 

7.3.2. Моделирование поведения гироскопа в кардановом подвесе

368

 

7.4. Объединение S-моделей с программами MatLab

373

 

7.4.1. Принципы функционирования блоков системы SimuLink

374

 

7.4.2. Функции пересечения нуля

377

 

7.4.3. Передача данных между средой MatLab и S-моделью

380

 

7.4.4. Запуск процесса моделирования S-модели из среды MatLab

383

 

7.4.5. Образования S-блоков путем использования программ

 

 

на языке MatLab. S-функции

384

 

7.4.6. Пример создания S-функции

388

 

7.5. Создание библиотек S-блоков пользователя

396

 

7.5.1. Создание библиотеки

396

 

7.5.2. Маскировка блоков

402

 

7.5.3. Моделирование процесса ориентации космического аппарата

405

 

Послесловие

413

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

414

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

415

Указатель операторов, команд, функций и функциональных блоков MatLAB

420

Предисловие

6

Предисловие

В последние годы в университетских и инженерно-технических кругах мира наблюдается интенсивное распространение новой компьютерной системы осуществления математических расчетов - системы MatLAB. В чем причина такой популярности этой системы?

Главные преимущества "языка технических вычислений" MatLAB, которые выгодно отличают его среди других существующих ныне математических систем

ипакетов, состоят в следующем:

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

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

в отличие от большинства математических систем, MatLAB является открытой системой; это означает, что практически все процедуры и функции MatLAB доступны не только для использования, но и для корректировки и модифицирования; MatLAB - система, которая может расширяться пользователем по его желанию созданными им программами и процедурами (подпрограммами); ее легко приспособить к решению нужных классов задач;

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

последние версии MatLAB позволяют легко интегрировать ее с текстовым редактором Word, что делает возможным использование при создании текстовых документов вычислительных и графических возможностей

MatLAB, например, оформлять инженерные и научные отчеты и статьи с включением в них сложных расчетов и выводом графиков в текст. Возможности системы огромны, а по скорости выполнения задач она опе-

режает многие другие подобные системы. Все эти особенности делают систему

Предисловие

7

MatLAB весьма привлекательной для использования в учебном процессе высших учебных заведений.

Эта книга является вторым, переработанным и существенно дополненным изданием учебного пособия "Початки програмування в середовищі MatLAB" [11], содержит, в основном, описание MatLAB версии 5.3 и в него добавлены материалы по практическому овладению процедурами пакетов CONTROL (анализа и синтеза линейных систем автоматического управления), SIGNAL (цифровой обработки сигналов), SIMULINK (интерактивного моделирования динамических систем) и некоторых новых важных возможностей MatLAB.

Пособие состоит из семи глав.

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

Во второй главе описаны правила и примеры составления программ на языке MatLAB. Кроме того, в ней представлены некоторые дополнительные процедуры, которые помогают рационально организовать вычислительный процесс.

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

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

Впятой главе сосредоточены сведения об особенностях использования процедур цифровой обработки сигналов пакета SIGNAL.

Содержание шестой главы - начальное ознакомление с особенностями работы с процедурами анализа и синтеза линейных стационарных систем автоматического управления пакета CONTROL.

Седьмая глава знакомит с пакетом SimuLink интерактивного (визуального моделирования динамических систем во временной области).

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

Впособии использованы материалы из изданий, указанных в списке лите-

ратуры.