- •Назначение Matlab
- •Интерфейс Matlab Структура окна рабочей среды ml
- •Основные команды главного меню ml
- •Работа с файлами
- •Редактирование файла
- •Рабочая область Workspace
- •История команд Command History
- •Вычисления в ml Особенности ввода команд и данных
- •Элементы данных в ml
- •Форматы представления результатов вычислений
- •Переменные в ml
- •Задание векторов и матриц
- •Задание матриц
- •Операции в ml
- •Арифметические операции (ао)
- •Операции отношения
- •Логические операции
- •Приоритет операций в ml
- •Элементарные функции
- •Тригонометрические функции
- •Некоторые часто используемые математические функции:
- •Особые матрицы
- •Операции с векторами и матрицами.
- •Выполнение операций с векторами
- •Выполнение операций над матрицами
- •Специальные функции для матриц
- •Действия с элементами матрицы
- •Функции, используемые для работы с векторами и матрицами
- •Действия с полиномами (многочленами)
- •Построение простейших графиков
- •Вывод нескольких графиков в одном окне.
- •Диаграммы
- •Круговые диаграммы.
- •Построение графиков в полярных координатах.
- •Трехмерная графика.
- •Пример построения сферы.
- •Программирование в ml
- •Операторы языка
- •Операторы ввода/вывода
- •Операторы цикла и условные операторы.
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Условный оператор
- •Оператор переключения (выбора)
- •Встроенные функции для работы с символьными данными Функция eval
- •Функция menu.
- •Создание и использование m-файлов
- •Script-файлы
- •Файлы-функции
- •Использование файлов- функций.
- •Вычисление интеграла.
- •Решение трансцендентных уравнений.
- •Решение систем дифференциальных уравнений.
Выполнение операций над матрицами
Операции, выполняемые в ML с матрицами:
Транспонирование матрицы. Операция обозначается символом апостроф (‘).
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B=A'
B =
1 4 7
2 5 8
3 6 9
Сложение и вычитание матриц
Размерность матриц должна быть одинаковой. При выполнении этих операций производится поэлементное сложение и вычитание.
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B=[1 4 7;2 5 8;3 6 0]
B =
1 4 7
2 5 8
3 6 0
>> C=A+B
C =
2 6 10
6 10 14
10 14 9
>> D=A-B
D =
0 -2 -4
2 0 -2
4 2 9
Умножение матриц.
При умножении A*B должно выполняться условие: число столбцов матрицы A равно числу строк матрицы B.
A(n, m) * B(m, k) → C(n, k)
Элементы результирующей матрицы вычисляются по правилу: каждый элемент строки матрицы A умножается на соответствующий элемент столбца матрицы B, затем произведения складываются.
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B=[1 4 7;2 5 8;3 6 0]
B =
1 4 7
2 5 8
3 6 0
>> C=A*B
C =
14 32 23
32 77 68
50 122 113
Матрицу можно умножать на число. В результате получим матрицу, в которой каждый элемент получается умножением элемента исходной матрицы на это число.
>> A=[1 2 3;4 5 6;7 8 9];
>>C = A * 2
C =
2 4 6
8 10 12
14 16 18
Если надо, чтобы действия производились поэлементно, то перед знаком операции ставится точка.
Создадим две матрицы: одну - единичную, вторую А=[1 2 3; 4 5 6; 7 8 9].
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> Е=eye(3)
Е =
1 0 0
0 1 0
0 0 1
>> B=A*Е
B =
1 2 3
4 5 6
7 8 9
Матрица В получена в результате матричного умножения матриц А и Е.
>> C=A .*Е
C =
1 0 0
0 5 0
0 0 9
Матрица С получена в результате поэлементного умножения матриц А и Е.
Пусть заданы 2 матрицы C и D одинакового размера.
>> C=[1 2 3;4 5 6;7 8 9];
>> D=[2 3 4; 1 2 3; 4 5 6];
>> Y=C.*D
Y =
2 6 12
4 10 18
28 40 54
Деление(правое и левое)
В ML имеется две разновидности операции деления матриц – правое деление (/) и левое деление (\)
В случае с числами 2/3 в ML трактуется как результат деления 2 на 3.
2 \ 3 соответствует результату деления 3 на 2.
С векторами и матрицами происходит иначе.
Пусть A — матрица, а Х — вектор. А * Х = В и Х * А = В — разные уравнения.
Для решения уравнения Х * А = В- используется обычное деление
Х = B / A = В *А-1
Для решения уравнения А * Х = В - используется обратное деление
Х = А \ В = А-1 * В
Операция обратного деления используется для решения системы линейных уравнений. Например,
2x1 + 3x2 = 11
3x1 – 4x2 = 8
A — матричные коэффициенты в левой части.
B — вектор правых частей.
Решается уравнение вида A*X=B
>> A=[2 3;3 -4];
>> B=[11 8 ];
>> Х=A\B'
Х =
4.0000
1.0000
Для проверки можно выполнить умножение A*X
>> A*X
ans =
11.0000
8.0000
В результате получили вектор правых частей, что доказывает правильность найденного решения.