English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по Matlab

Операторы Matlab

Арифметические операции MATLAB

  • MATLAB позволяет выполнять два типа арифметических операций-

  • Алгебраические операции массивов

Алгебраические операции matrices

Алгебраические операции matrices идентичны определенным в линейной алгебре. Операции с массивами выполняются по одному элементу в одномерных и многоугольных массивах.

Операторы matrices и операторы массивов различаются символом точки (.)

НомерВ таблице ниже кратко介绍аны операторы -
1

Операторы и их описание

+

2

Добавление или одностороннее добавление. A + B хранит сумму значений A и B.Unless one of them is a scalar, the sizes of A and B must be the same. A scalar can be added to a matrix of any size.

-

3

Субтракция или односторонняя субтракция. AB это результат вычитания значения B из A.除非 одна из них является скаляром, иначе размеры A и B должны быть одинаковыми. Скаляр может быть вычтен из matrices любого размера.

*

Множество matrices. C = A * B является линейным произведением matrices A и B. Более точно,

4

Для нескалярных matrices A и B, количество столбцов A должно равняться числу строк B. Скаляр может быть умножен на matrix любого размера.

Множество массивов. A. * B является элементарным произведением массивов A и B. A и B должны иметь одинаковые размеры,除非 одна из них является скаляром.

Субтракция; возвращает a-b

/

Сlash или правое матричное деление. B / A大致 эквивалентно B * inv(A). точнее, B / A = (A'\ B')'.

Массивное умножение; возвращает a.*b

./

Правое разбиение массива. A./B является матрицей A(i,j) / B(i,j) элементов. Размеры A и B должны быть одинаковыми,除非 одна из них является скаляром.

Множество матриц; возвращает a * b

\

Обратная косая черта или левое матричное деление. Если A является квадратной матрицей, то A \ B大致 эквивалентно inv(A) * B, только способ вычисления различается. Если A является матрицей n×n, а B является вектором с n компонентами или матрицей с несколькими такими столбцами, то X = A \ B является уравнениемAX = BРешение. Если A масштабируется неправильно или близок к奇异ности, будет отображаться сообщение об ошибке.

Правое массивное деление; возвращает a./b

.\

Левое разбиение массива. A. \ B является матрицей A(i,j) / B(i,j) элементов. Размеры A и B должны быть одинаковыми,除非 одна из них является скаляром.

9

^

Мощность матрицы. Если p является скаляром, то X ^ p является степенью p X. Если p является целым числом, то степень вычисляется через повторное умножение. Если целое число отрицательно, то X сначала инвертируется. Для других значений p вычисление включает характеристические значения и векторы, поэтому, если [V, D] = eig(X), то X ^ p = V * D. ^ p / V.

10

.^

Мощность массива. A. ^ B является матрицей с элементами A(i,j) в B(i,j) степени. Размеры A и B должны быть одинаковыми,除非 одна из них является скаляром.

11

'

Транспонирование матрицы. A' является линейной алгебраической транспозицией A. Для комплексных матриц это является комплексной транспозицией.

12

'.

Транспонирование массива. Один. ' является транспонированным массивом A. Для сложных матриц это не涉及到 конъюгат.

Пример

Следующие примеры показывают использование арифметических операторов для скалярных данных. Создайте сценарий с помощью следующего кода-

a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
x = 7;
y = 3;
z = x ^ y
При запуске файла он будет генерировать следующие результаты-
c = 30
d = -10
e = 200
f = 0.50000
g = 2
z = 343

Арифметические функции

Кроме упомянутых арифметических операторов, MATLAB также предоставляет следующие команды/функции для аналогичных целей-

НомерОписание функции
1

uplus(a)

односторонний плюс; увеличение по количеству a

2

plus (a,b)

добавление; возвращает a + b

3

uminus(a)

одностороннее вычитание; количество уменьшения a

4

minus(a, b)

减; 返回a-b

Субтракция; возвращает a-b

5

times(a, b)

Массивное умножение; возвращает a.*b

6

mtimes(a, b)

Множество матриц; возвращает a * b

7

rdivide(a, b)

Правое массивное деление; возвращает a./b

ldivide(a, b)

Левая массивная деление; возвращает a./b

9

mrdivide(A, B)

системаXA = BДляX

10

mldivide(A, B)

системарешения системы линейных уравнений Ax = bДляX

11

power(a, b)

Массивной степенью; возвращает a.^ b

12

mpower(a, b)

Мatrix power; возвращает a ^ b

13

cumprod(A)

Кумулятивное произведение; возвращает массив, размером равный массиву, содержащему кумулятивное произведение.

  • Если A является вектором, то cumprod(A) возвращает вектор, содержащий кумулятивное произведение элементов A.

  • Если A является матрицей, то cumprod(A) возвращает матрицу, содержащую кумулятивное произведение каждого столбца A.

  • Если A является多维ным массивом, то cumprod(A) выполняет операцию по первой неодномерной размерности.

14

cumprod(A, dim)

Возвращает по размерностиdimкумулятивное произведение.

15

cumsum(A)

Кумулятивная сумма; возвращает массив A, содержащий кумулятивную сумму.

  • Если A является вектором, то cumsum(A) возвращает вектор, содержащий сумму элементов A.

  • Если A является матрицей, то cumsum(A) возвращает матрицу, содержащую сумму каждого столбца A.

  • Если A является多维ным массивом, то cumsum(A) выполняет операцию по первой неодномерной размерности.

16

cumsum(A, dim)

Возвращает по размерностиdimсумма элементов.

17

diff(X)

Разность и приближенная производная; вычисляет разность между смежными элементами X.

  • Если X является вектором, то diff(X) возвращает вектор, который короче на один элемент, и разность между смежными элементами составляет [[X(2) - X(1) X(3) - X(2) ... X(n) - X(n-1)]]

  • Если X является матрицей, то diff(X) возвращает матрицу разностей строк: [X(2:m, :) - X(1:m-1, :)]

18

diff(X,n)

Применяется рекурсивноdiff n раз, что приводит к n-ому различию.

19

diff(X,n,dim)

Это является n-ым дифференциальным функцией, вычисленной по заданной размерности, указанной скалярным углом. Если степень n равна или превышает длину dim, то diff возвращает пустой массив.

20

prod(A)

Произведение элементов массива; возвращает произведение элементов массива A.

  • Если A является вектором, то prod(A) возвращает произведение элементов.

  • Если A является не пустой матрицей, тоprod(A) рассматривает столбцы A как векторы и возвращает строку, содержащую произведение каждого столбца.

  • Если A является пустой матрицей 0×0, то prod(A) возвращает 1.

  • Если A является многоомерным массивом, то prod(A) выполняет операцию по первой неодномерной мере и возвращает массив произведений. Размерность уменьшается до 1, а все другие размеры сохраняются.

Если входной A является одним числом, то функция prod вычисляет и возвращает B как одно число. Для всех других чисел и логических типов данных prod вычисляет B и возвращает его как double.

21

prod(A,dim)

Возврат произведения измерения dim. Например, если A является матрицей, то prod(A,2) является столбцом, содержащим произведение каждого ряда.

22

prod(___,datatype)

Умножение и возвращение массива, определенного типом данных.

23

sum(A)

  • Общая сумма элементов массива; возвращается сумма по различным измерениям массива. Если A является плавающей точкой (является двойной точностью или одинарной точностью), то B является локальным накоплением, то есть находится в том же классе, что и A, и B имеет тот же класс. Если A не является плавающей точкой, то B накапливается в двойном размере и имеет двойной класс.

  • Если A является вектором, то sum(A) возвращает сумму элементов.

  • Если A является матрицей, то столбцы Asum(A) рассматриваются как векторы и возвращается строка, содержащая суммы каждого столбца.

  • Если A является многоомерным массивом, то sum(A) рассматривает значение первой неодномерной меры как вектор и возвращает массив векторов строк.

24

sum(A,dim)

ИзмерениеdimУказанноеAСумма измерений.

25

sum(..., 'double')

sum(..., dim,'double')

Если A имеет единственный тип данных или тип данных целых чисел, сложение выполняется с двойной точностью и возвращается ответ типа двойной точности. Это настройки по умолчанию для типа данных целых чисел.

26

sum(..., 'native')

sum(..., dim,'native')

Выполнение сложения с использованием типовых данных A и возвращение ответа того же типа данных. Это настройки по умолчанию для одного и двух листов.

27

ceil(A)

Округление в направлении плюс无穷; элементы A округляются до ближайшего целого числа, не менее A.

28

fix(A)

Округление до нуля

29

floor(A)

Округление до минус无穷; элемент A округляется до ближайшего целого числа, не превышающего A.

30

idivide(a, b)

idivide(a, b,'fix')

Целое деление с возможностью округления; как a./b, но с тем отличием, что десятичное деление оканчивается на ближайшее целое.

31

idivide(a, b, 'round')

Числовое деление с округлением до ближайшего целого числа.

32

idivide(A, B, 'floor')

Дробной quotient rounding towards negative infinity to the nearest integer.

33

idivide(A, B, 'ceil')

Дробной quotient rounding towards infinity to the nearest integer.

34

mod (X,Y)

Остаток после деления; возвращает X-n. * Y, где n = floor(X./Y). Если Y не целое число, и quotient X./Y находится в пределах ошибки-rounded целого числа, то n является этим целым числом. Входные данные X и Y должны быть массивами или скалярами одинакового размера (поставляется Y〜= 0).

Обратите внимание на -

  • mod(X,0) равна X

  • mod(X,X) равна 0

  • mod(X,Y) для X〜= Y и Y〜= 0 имеют одинаковый знак с Y.

35

rem (X,Y)

Оставшаяся часть после разделения; возвращает X-n. * Y, где n = fix(X./Y). Если Y не целое число, и quotient X./Y находится в пределах ошибки-rounded целого числа, то n является этим целым числом. Входные данные X и Y должны быть массивами или скалярами одинакового размера (поставляется Y〜= 0).

Обратите внимание на -

  • rem(X,0) является NaN

  • rem(X,X) для X〜= 0 равна 0

  • rem(X,Y) для X〜= Y и Y〜= 0 имеют одинаковый знак с X.

36

round(X)

Округление до ближайшего целого числа; окрuggle элементы X до ближайшего целого числа. Элементы с дробной частью 0.5, которые положительны, округляются до ближайшего положительного целого числа. Элементы с дробной частью -0.5, которые отрицательны, округляются до ближайшего отрицательного целого числа.

Операторы Matlab