Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
16.10.2021
Размер:
203.78 Кб
Скачать

23

  1. Элементарные математические вычисления

    1. Арифметические операторы и функции

Арифметические операторы наиболее распространены и известны. Каждый оператор имеет аналогичную по назначению функцию. Так оператору матричного умножения «*» соответствует функция 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 приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.

    1. Вычисление произведений

Три функции перемножают элементы матриц (примеры в табл. 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 в трехмерном пространстве, т. е. = U  V (U и V – обязательно векторы с тремя элементами); cross(U, V, dim) возвращает векторное произведение U и V по размерности, определенной скаляром dim. Здесь U и V – многомерные массивы, которые должны иметь одну и ту же размерность, причем размер векторов в каждой размерности size(U, dim) и size(V, dim) должен быть равен 3.

Соседние файлы в папке Лабы МАТЛАБ Гречухин