Spec-Zone.ru › Octave 9

8.3 Арифметические операторы

Доступны следующие арифметические операторы, работающие со скалярами и матрицами. Поэлементные операторы и функции поддерживают широковещательное распространение (см. Широковещательное распространение).

x + y

Сложение (всегда выполняется поэлементно). Если оба операнда — матрицы, количество строк и столбцов должно совпадать, либо размеры матриц должны допускать широковещательное распространение до одинаковой формы.

x - y

Вычитание (всегда выполняется поэлементно). Если оба операнда — матрицы, количество строк и столбцов у обеих матриц должно совпадать, либо размеры матриц должны допускать широковещательное распространение до одинаковой формы.

x * y

Умножение матриц. Количество столбцов x должно совпадать с количеством строк y.

x .* y

Поэлементное умножение. Если оба операнда — матрицы, количество строк и столбцов должно совпадать, либо размеры матриц должны допускать широковещательное распространение до одинаковой формы.

x / y

Правое деление. Концептуально оно эквивалентно выражению

(inv (y') * x')'

но вычисляется без формирования обратной матрицы y’.

Если система не является квадратной или матрица коэффициентов вырождена, вычисляется решение с минимальной нормой.

x ./ y

Поэлементное правое деление.

x \ y

Левое деление. Концептуально оно эквивалентно выражению

inv (x) * y

но вычисляется без формирования обратной матрицы x.

Если система не является квадратной или матрица коэффициентов вырождена, вычисляется решение с минимальной нормой.

x .\ y

Поэлементное левое деление. Каждый элемент y делится на соответствующий элемент x.

x ^ y

Оператор возведения в степень. Если x и y — скаляры, этот оператор возвращает x в степени y. Если x — скаляр, а y — квадратная матрица, результат вычисляется с помощью разложения по собственным значениям. Если x — квадратная матрица, результат вычисляется последовательным умножением, если y — целое число, и с помощью разложения по собственным значениям, если y не является целым числом. Если и x, и y — матрицы, возникает ошибка.

Реализацию этого оператора необходимо улучшить.

x .^ y

Поэлементный оператор возведения в степень. Если оба операнда — матрицы, количество строк и столбцов должно совпадать, либо размеры матриц должны допускать широковещательное распространение до одинаковой формы. Если возможны несколько комплексных результатов, выбирается результат с наименьшим неотрицательным аргументом (углом). Это правило может вернуть комплексный корень, даже если существует действительный корень. Если предпочтителен действительный результат, используйте realpow, realsqrt, cbrt или nthroot.

-x

Унарный минус.

+x

Унарный плюс. Этот оператор не влияет на операнд.

x’

Транспонирование с комплексным сопряжением. Для действительных аргументов этот оператор совпадает с оператором транспонирования. Для комплексных аргументов этот оператор эквивалентен выражению

conj (x.')
x.’

Транспонирование.

Обратите внимание: поскольку поэлементные операторы Octave начинаются с «.», в таких выражениях, как

1./m

возможна неоднозначность: точка может интерпретироваться как часть константы или как часть оператора. Чтобы устранить эту неоднозначность, Octave обрабатывает выражение так, как если бы вы ввели

(1) ./ m

а не

(1.) / m

Хотя это не соответствует обычному поведению лексического анализатора Octave, который обычно предпочитает разбивать входные данные на токены, выбирая в каждой точке наиболее длинное возможное совпадение, в данном случае такой подход полезнее.

Обратите также внимание: некоторые сочетания бинарных операторов и пробелов могут создавать видимую неоднозначность с формой вызова функций, называемой синтаксисом команд. Описание того, как Octave обрабатывает этот синтаксис, см. в разделе Синтаксис команд и синтаксис функций.

: B = ctranspose (A)

Возвращает комплексно-сопряжённую транспонированную матрицу A.

Эта функция и A' эквивалентны.

См. также: transpose.

: y = pagectranspose (A)

Возвращает комплексно-сопряжённую транспонированную постранично N-мерную матрицу A.

Для каждой страницы k это эквивалентно A(:,:, k)'.

См. также: pagetranspose, ctranspose, permute.

: C = ldivide (A, B)

Возвращает результат поэлементного левого деления A и B.

Эта функция и A .\ B эквивалентны.

См. также: rdivide, mldivide, times, plus.

: C = minus (A, B)

Эта функция и A - B эквивалентны.

См. также: plus, uminus.

: C = mldivide (A, B)

Возвращает результат матричного левого деления A и B.

Эта функция и A \ B эквивалентны.

Если система не является квадратной или матрица коэффициентов вырождена, вычисляется решение с минимальной нормой.

См. также: mrdivide, ldivide, rdivide, linsolve.

: C = mpower (A, B)

Возвращает результат возведения матрицы A в степень B.

Эта функция и A ^ B эквивалентны.

См. также: power, mtimes, plus, minus.

: C = mrdivide (A, B)

Возвращает результат матричного правого деления A и B.

Эта функция и A / B эквивалентны.

Если система не является квадратной или матрица коэффициентов вырождена, вычисляется решение с минимальной нормой.

См. также: mldivide, rdivide, plus, minus.

: C = mtimes (A, B)
: C = mtimes (A1, A2, …)

Возвращает произведение матричного умножения входных данных.

Эта функция и A * B эквивалентны. Если указано больше аргументов, умножение выполняется последовательно слева направо:

(...((A1 * A2) * A3) * ...)

См. также: times, plus, minus, rdivide, mrdivide, mldivide, mpower, tensorprod.

: C = plus (A, B)
: C = plus (A1, A2, …)

Эта функция и A + B эквивалентны.

Если указано больше аргументов, сложение выполняется последовательно слева направо:

(...((A1 + A2) + A3) + ...)

См. также: minus, uplus.

: C = power (A, B)

Возвращает результат поэлементного возведения A в степень B.

Эта функция и A .^ B эквивалентны.

Если возможны несколько комплексных результатов, возвращается результат с наименьшим неотрицательным аргументом (углом). Если предпочтителен действительный результат, используйте realpow, realsqrt, cbrt или nthroot.

См. также: mpower, realpow, realsqrt, cbrt, nthroot.

: C = rdivide (A, B)

Возвращает результат поэлементного правого деления A и B.

Эта функция и A ./ B эквивалентны.

См. также: ldivide, mrdivide, times, plus.

: C = times (A, B)
: C = times (A1, A2, …)

Возвращает результат поэлементного умножения входных данных.

Эта функция и A .* B эквивалентны. Если указано больше аргументов, умножение выполняется последовательно слева направо:

(...((A1 .* A2) .* A3) .* ...)

См. также: mtimes, rdivide.

: B = transpose (A)

Возвращает транспонированную матрицу A.

Эта функция и A.' эквивалентны.

См. также: ctranspose.

: B = pagetranspose (A)

Возвращает транспонированную постранично N-мерную матрицу A.

Для каждой страницы k это эквивалентно A(:,:, k).'.

См. также: pagectranspose, transpose, permute.

: B = uminus (A)

Эта функция и - A эквивалентны.

См. также: uplus, minus.

: B = uplus (A)

Эта функция и + A эквивалентны.

См. также: uminus, plus.

© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Arithmetic-Ops.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API