- •Начала программирования в среде MatLab
- •Содержание
- •Предисловие
- •Введение
- •1. MatLAB как научный калькулятор
- •1.1. Командное окно
- •1.2. Операции с числами
- •1.2.1. Ввод действительных чисел
- •1.2.2. Простейшие арифметические действия
- •1.2.3. Ввод комплексных чисел
- •1.2.4. Элементарные математические функции
- •1.2.5. Специальные математические функции
- •1.2.6. Элементарные действия с комплексными числами
- •1.2.7. Функции комплексного аргумента
- •1.2.8. Задания
- •1.2.9. Вопросы
- •1.3. Простейшие операции с векторами и матрицами
- •1.3.1. Ввод векторов и матриц
- •1.3.2. Формирование векторов и матриц
- •1.3.3. Извлечение и вставка частей матриц
- •1.3.4. Действия над векторами
- •1.3.5. Поэлементное преобразование матриц
- •1.3.6. Матричные действия над матрицами
- •1.3.7. Матричные функции
- •1.3.8. Задания
- •1.3.9. Вопросы
- •1.4. Функции прикладной численной математики
- •1.4.1. Операции с полиномами
- •1.4.2. Обработка данных измерений
- •1.4.3. Функции линейной алгебры
- •1.4.4. Аппроксимация и интерполяция данных
- •1.4.5. Векторная фильтрация и спектральный анализ
- •1.4.6. Задания
- •1.4.7. Вопросы
- •1.5. Построение простейших графиков
- •1.5.1. Процедура plot
- •1.5.2. Специальные графики
- •1.5.3. Дополнительные функции графического окна
- •1.5.5. Задания
- •1.5.6. Вопросы
- •1.6. Операторы управления вычислительным процессом
- •1.6.1. Оператор условного перехода
- •1.6.2. Оператор переключения
- •1.6.3. Операторы цикла
- •1.6.4. Задания
- •1.6.5. Вопросы
- •2. Программирование в среде MatLAB
- •2.1. Функции функций
- •2.2. Создание М-файлов
- •2.2.1. Особенности создания М-файлов
- •2.3.1. Общие требования к построению
- •2.3.2. Типовое оформление процедуры-функции
- •2.3.3. Задания
- •2.3.4. Вопросы
- •2.4. Создание Script-файлов
- •2.4.1. Основные особенности Script-файлов
- •2.4.2. Ввод и вывод информации в диалоговом режиме
- •2.4.3. Организация повторения действий
- •2.4.4. Организация изменения данных в диалоговом режиме
- •2.4.5. Типовая структура и оформление Script-файла
- •2.5. Графическое оформление результатов
- •2.5.1. Общие требования к представлению графической информации
- •2.5.2. Разбивка графического окна на подокна
- •2.5.3. Вывод текста в графическое окно (подокно)
- •2.6. Создание функций от функций
- •2.6.1. Процедура feval
- •2.6.2. Примеры создания процедур от функций
- •2.6.3. Задания
- •2.7. Пример создания сложной программы
- •2.7.1. Программа моделирования движения маятника
- •2.7.2. Задания
- •3.1. Функции меню командного окна
- •3.1.2. Другие меню командного окна
- •3.1.3. Панель инструментов
- •3.2. Команды общего назначения
- •3.3. Создание М-книги
- •3.3.1. Начало новой М-книги
- •3.3.2. Написание М-книги
- •3.3.3. Редактирование М-книги
- •3.3.4. Преобразование документа WORD в М-книгу
- •3.3.6. Изменение параметров вывода результатов
- •4. Классы вычислительных объектов
- •4.1. Основные классы объектов
- •4.1.1. Класс символьных строк (char)
- •4.1.2. Класс записей (struct)
- •4.1.3. Класс ячеек (cell)
- •4.2. Производные классы MatLAB
- •4.2.1. Класс объектов Inline
- •4.2.2. Классы пакета CONTROL
- •4.3. Пример создания нового класса polynom
- •4.3.1. Создание подкаталога @polynom
- •4.3.2. Создание конструктора
- •4.3.3. Создание процедуры символьного представления polynom-объекта.
- •4.4. Создание методов нового класса
- •5.1. Формирование типовых процессов
- •5.1.1. Формирование одиночных импульных процессов
- •5.1.2. Формирование колебаний
- •5.2.1. Основы линейной фильтрации
- •5.2.2. Формирование случайных процессов
- •5.3. Процедуры спектрального (частотного) и статистического анализа процессов
- •5.3.1. Основы спектрального и статистического анализа
- •5.3.2. Примеры спектрального анализа
- •5.3.3. Статистический анализ
- •5.4. Проектирование фильтров
- •5.4.1. Формы представления фильтров и их преобразования
- •5.4.2. Разработка аналоговых фильтров
- •5.4.3. Проектирование БИХ-фильтров
- •5.5. Графические и интерактивные средства
- •5.5.1. Графические средства пакета SIGNAL
- •5.5.2. Интерактивная оболочка SPTOOL
- •6.1. Ввод и преобразование моделей
- •6.2. Получение информации о модели
- •6.3. Анализ системы
- •6.4. Интерактивный "обозреватель" ltiview
- •6.5. Синтез системы
- •7.1. Общая характеристика пакета SimuLink
- •7.1.1. Запуск SimuLink
- •7.1.2. Библиотека модулей (блоков)
- •7.1.3. Раздел Sinks (приемники)
- •7.1.4. Раздел Sources (Источники)
- •7.1.5. Раздел Сontinuous
- •7.1.6. Раздел Discrete
- •7.1.7. Раздел Math
- •7.1.8. Раздел Functions & Tables
- •7.1.9. Раздел Nonlinear
- •7.1.10. Раздел Signals & Systems
- •7.2. Построение блок-схем
- •7.2.1. Выделение объектов
- •7.2.2. Оперирование с блоками
- •7.2.3. Проведение соединительных линий
- •7.2.4. Проставление меток сигналов и комментариев
- •7.2.5. Создание подсистем
- •7.2.6. Запись и распечатка блок-схемы S-модели
- •7.3. Примеры моделирования
- •7.3.1. Моделирование поведения физического маятника
- •7.3.2. Моделирование поведения гироскопа в кардановом подвесе
- •7.4. Объединение S-моделей с программами MatLAB
- •7.4.2. Функции пересечения нуля
- •7.4.5. Образование S-блоков путем использования программ MatLab. S-функции
- •7.4.6. Пример создания S-функции
- •7.5.1. Создание библиотеки
- •7.5.2. Маскировка блоков
- •7.5.3. Моделирование процесса ориентации космического аппарата
- •Послесловие
- •Предметный указатель
- •Указатель операторов, команд, функций и функциональных блоков MatLAB
1.3. Операции с векторами и матрицами |
43 |
14 -15 -4
» x = A \ B x =
1
2
3
1.3.7. Матричные функции
Вычисление матричной экспоненты (eА) осуществляется с помощью функций expm, expm1, expm2, expm3. Эти функции следует отличать от прежде рассмотренной функции exp(A), которая формирует матрицу, каждый элемент которой равняется е в степени, которая равняется соответствующему элементу матрицы А.
Функция expm является встроенной функцией MatLAB. Функция expm1(A) реализована как М-файл, который вычисляет матричную экспоненту путем использования разложения Паде матрицы А. Функция еxpm2(A) вычисляет матричную экспоненту, используя разложение Тейлора матрицы А. Функция expm3(A) вычисляет матричную экспоненту на основе использования спектрального разложения А.
Приведем примеры использования этих функций:
» A = [1,2,3; 0, -1,5;7, -4,1]
A = |
|
|
1 |
2 |
3 |
0 |
-1 |
5 |
7 |
-4 |
1 |
» expm(A)
ans = |
|
|
131.3648 |
-9.5601 |
80.6685 |
97. 8030 |
-7. 1768 |
59. 9309 |
123. 0245 |
-8. 8236 |
75. 4773 |
» expm1(A)
ans = |
|
|
131.3648 |
-9.5601 |
80.6685 |
97. 8030 |
-7. 1768 |
59. 9309 |
123. 0245 |
-8. 8236 |
75. 4773 |
» expm2(A)
ans = |
|
|
131.3648 |
-9.5601 |
80.6685 |
97. 8030 |
-7. 1768 |
59. 9309 |
123. 0245 |
-8. 8236 |
75. 4773 |
» expm3(A)
ans = |
|
|
|
1.0e+002 * |
|
|
|
1. 3136 + 0. 0000i |
-0. 0956 + 0. |
0000i |
0. 8067 - 0. 0000i |
0. 9780 + 0. 0000i |
-0. 0718 - 0. 0000i |
0. 5993 - 0. 0000i |
|
1.2302 + 0. 0000i |
-0. 0882 - 0. |
0000i |
0. 7548 - 0. 0000i |
Функция logm(А) осуществляет обратную операцию - логарифмирование матрицы по натуральному основанию, например:
A = |
|
|
1 |
2 |
3 |
0 |
1 |
5 |
1.3. Операции с векторами и матрицами |
44 |
|||||
7 |
4 |
|
1 |
|
|
|
» B = expm3(A) |
|
|
|
|||
B = |
|
|
|
|
|
|
1.0e+003 * |
|
|
|
|
||
0.9378 |
|
0.7987 |
0.9547 |
|
|
|
1. 0643 |
0. 9074 |
1. 0844 |
|
|
||
1. 5182 |
1. 2932 |
1. 5459 |
|
|
||
» logm(B) |
|
|
|
|
||
ans = |
|
|
|
|
|
|
1. 0000 |
2. 0000 |
3. 0000 |
|
|
||
0. 0000 |
1. 0000 |
5. 0000 |
|
|
||
7.0000 |
|
4. 0000 |
1. 0000 |
|
|
|
Функция sqrtm(А) вычисляет такую матрицу Y, что Y*Y = A: |
|
|||||
» Y = sqrtm(A) |
|
|
|
|||
Y = |
|
|
|
|
|
|
0.7884 |
+ 0.8806i |
0.6717 - 0.1795i |
0.8029 - 0.4180i |
|
||
0. 8953 |
+ 0. 6508i |
0. 7628 + 0. 8620i |
0. 9118 - 1. 0066i |
|
||
1.2765 - 1. 4092i |
1. 0875 - 0. 5449i |
1. 3000 + 1. 2525i |
|
|||
» Y * Y |
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
1. 0000 |
+ 0. 0000i |
2. 0000 - 0. 0000i |
3. 0000 + 0. 0000i |
|
||
0. 0000 |
- 0. 0000i |
1. 0000 - 0. 0000i 5. 0000 - 0. 0000i |
|
|||
7.0000 + 0. 0000i |
4. 0000 + 0. 0000i |
1. 0000 + 0. 0000i |
|
1.3.8. Задания
Задание 1.5. Вычислите значения функции f(x) на отрезке [a; b] с шагом h.
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1.3 |
||
Вариант |
|
|
f (x) |
|
|
|
a |
b |
|
h |
|
|||
1 |
|
|
x 2 |
|
|
|
1,1 |
3,1 |
|
0,2 |
|
|||
|
1+ 0,25 |
|
x |
|
|
|
|
|
|
|||||
2 |
x3 − 0,3x |
|
2,05 |
3,05 |
|
0,1 |
|
|||||||
|
|
|
1 + 2x |
|
|
|
|
|
|
|
|
|||
3 |
|
|
2e−x |
|
|
|
0 |
1,6 |
|
0,16 |
|
|||
|
|
2π + x3 |
|
|
|
|
|
|
|
|
||||
4 |
|
cosπx 2 |
|
|
|
-1 |
0 |
|
0,1 |
|
||||
|
|
|
1 − 3x |
|
|
|
|
|
|
|
|
|||
5 |
1+ 4x sin πx |
0,1 |
0,8 |
|
0,07 |
|
||||||||
6 |
|
|
e |
x |
3 |
|
|
|
|
1,4 |
2,4 |
|
0,1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
1+ x 2 |
|
|
|
|
|
|
|
|
|
||
7 |
e−2x + x 2 −1 |
|
0,25 |
2,25 |
|
0,2 |
|
|||||||
8 |
(e + x)sin(π |
|
x −1) |
1,8 |
2,8 |
|
0,1 |
|
||||||
9 |
3 + 2x tg |
πx |
3 |
0,1 |
0,9 |
|
0,08 |
|
||||||
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
1.3. Операции с векторами и матрицами |
|
|
|
|
45 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
10 |
|
2 + 3x ln(1+ 3x 2 ) |
|
|
-0,1 |
0,9 |
0,1 |
|
|
|||||||||||
|
11 |
|
3 x 2 + 3 cos |
πx |
|
|
|
1 |
2,5 |
0,15 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
12 |
|
(4 + 7x)sin(π3 1+ x ) |
|
|
0 |
7 |
0,7 |
|
|
|||||||||||
|
13 |
|
e−x2 (1+ 3x − x 2 ) |
|
|
|
0 |
2 |
0,2 |
|
|
||||||||||
|
14 |
|
x3 − 3x + |
|
|
|
8 |
|
|
|
0 |
1,7 |
0,17 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
1+ x 2 |
|
|
|
|
|
|
|
|
|||
|
15 |
sh |
2πx |
|
|
|
|
|
|
|
ex |
− e−x |
0 |
1,2 |
0,12 |
|
|
||||
|
|
, |
sh x = |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
2 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
16 |
|
x |
|
|
|
|
|
|
|
ex |
+ e−x |
0,5 |
1,5 |
0,1 |
|
|
||||
|
|
ch |
|
, |
ch x = |
|
|
|
|
|
|
|
|
|
|||||||
|
|
2π |
|
|
2 |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
17 |
|
|
|
x3 + 2x |
|
|
|
|
|
|
-0,2 |
0,8 |
0,1 |
|
|
|||||
|
|
|
|
|
1+ ex |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
18 |
|
1+ 2x2 sin |
|
3x |
|
|
|
2 |
4 |
0,2 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
19 |
|
3x 2 + 5 cos πx |
|
|
|
0,5 |
1,5 |
0,1 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
20 |
|
arccos e |
−3 |
3x |
|
|
|
0,2 |
0,5 |
0,03 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
21 |
|
arcsin e |
−x |
2 |
|
|
|
|
|
8 |
13 |
0,5 |
|
|
||||||
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
||||||||
|
22 |
|
x + ln(x + |
|
1 + x 2 ) |
|
|
-0,5 |
0,5 |
0,1 |
|
|
|||||||||
|
23 |
|
|
1 + e |
−x |
2 |
|
|
|
|
|
|
3 |
5 |
0,2 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
3x 2 +1 |
|
|
|
|
|
|
|
|
|
|
||||||
|
24 |
|
3x |
3 + |
1 |
|
+ e−2x2 |
|
|
|
1,2 |
2,2 |
0,1 |
|
|
||||||
|
|
|
x |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
25 |
|
x 2x+1 + x3 − 2x |
|
|
|
1 |
5 |
0,4 |
|
|
1.3.9.Вопросы
1.Как вводятся векторы в языке MatLAB? Какими функциями можно формировать векторы в языке MatLAB?
2.Какие функции MatLAB разрешают преобразовывать вектор поэлемент-
но?
3.С помощью каких средств в MatLAB осуществляются основные операции с векторами?
4.Как вводятся матрицы в системе MatLAB?
1.3. Операции с векторами и матрицами |
46 |
5. Какие функции имеются в MatLAB для формирования матриц определенного вида?
6. Как сформировать матрицу: а) по заданным векторам ее строк? б) по заданным векторам ее столбцов? в) по заданным векторам ее диагоналей?
7.Какие функции поэлементного преобразования матрицы есть в MatLAB?
8.Как осуществляются в MatLAB обычные матричные операции?
9.Как решить в MatLAB систему линейных алгебраических уравнений?