- •Элементарные математические вычисления
- •Арифметические операторы и функции
- •Вычисление произведений
- •Суммирование элементов
- •Операторы отношения и их функции
- •Логические операции
- •Системные переменные и константы
- •Специальные символы
- •Элементарные функции
- •Матричные функции
- •Цель, требования и рекомендации к выполнению задания
- •Варианты заданий
Элементарные математические вычисления
Арифметические операторы и функции
Арифметические операторы наиболее распространены и известны. Каждый оператор имеет аналогичную по назначению функцию. Так оператору матричного умножения «*» соответствует функция mtimes(Ml, M2). Примеры применения арифметических операторов приводились ранее. В табл. 3.1 представлен список арифметических операторов и их синтаксис.
Таблица 3.1
Функция |
Название и символ обозначения оператора |
Синтак-сис |
Функция |
Название и символ обозначения оператора |
Синтак-сис |
Plus |
Плюс + |
М1 + М2 |
Minus |
Минус – |
М1 – М2 |
Uplus |
Унарный плюс + |
+М |
Uminus |
Унарный минус – |
–М |
Mtimes |
Матричное умножение * |
М1*М2 |
Times |
Поэлементное умножение массивов .* |
А1.*А2 |
Mpower |
Возведение матрицы в степень ^ |
М1^х |
Power |
Поэлементное возведение массива в степень .^ |
А1.^х |
Mrdivide |
Деление матриц слева направо / |
М1/М2 |
Rdivide |
Поэлементное деление массивов слева направо ./ |
А1./А2 |
Mldivide |
Обратное (справа налево) деление матриц \ |
M1\M2 |
Ldivide |
Поэлементное деление массивов справа налево .\ |
А1.\А2 |
Kron |
Тензорное умножение Кронекера kron |
kron(X, Y) |
|
|
|
В системе Matlab одним из основных положений программирования является соответствие функций операторам и командам, позволяющее одновременно использовать элементы как операторного, так и функционального программирования. В математических выражениях имеется приоритет исполнения. В Matlab приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.
Вычисление произведений
Три функции перемножают элементы матриц (примеры в табл. 3.2):
prod(A) возвращает произведение элементов массива, если А – вектор, или вектор-строку, содержащую произведения элементов каждого столбца, если А – матрица; prod (A, dim) возвращает матрицу (массив размерности два) с произведением элементов массива А по столбцам (dim = 1), по строкам (dim = 2), по иным размерностям в зависимости от значения скаляра dim;
cumprod(A) возвращает произведение с накоплением. Если А – вектор, то cumprod(A) возвращает вектор, содержащий произведения с накоплением элементов вектора А. Если А – матрица, то cumprod(A) возвращает матрицу того же размера, что и А, содержащую произведения с накоплением для каждого столбца матрицы А (первая строка – без изменений, во второй строке – произведение первых двух элементов каждого столбца, в третьей строке – элементы второй строки матрицы-результата умножаются на элементы третьей строки матрицы входного аргумента по столбцам и т. д.); cumprod(A, dim) возвращает произведение с накоплением элементов по строкам или столбцам
матрицы в зависимости от значения скаляра dim;
Таблица 3.2
Матрица |
Операция |
Матрица |
Операция |
»A = [1234; 2457; 6] A = 1234 2457 6 |
»B = prod(A) B = 18191628 |
»A = [1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9 |
»В = cumprod(A) B = 1 2 3 4 10 18 28 80 162 |
cross(U, V) возвращает векторное произведение векторов U и V в трехмерном пространстве, т. е. W = U V (U и V – обязательно векторы с тремя элементами); cross(U, V, dim) возвращает векторное произведение U и V по размерности, определенной скаляром dim. Здесь U и V – многомерные массивы, которые должны иметь одну и ту же размерность, причем размер векторов в каждой размерности size(U, dim) и size(V, dim) должен быть равен 3.