linalg::angle

Угол между двумя векторами

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::angle(u, v)

Описание

linalg::angle(u,v) вычисляет угол φ между этими двумя векторами u и v, заданный

,

где обозначает скалярное произведение двух векторов, данных linalg::scalarProduct, и 2-норма вектора, т.е.

linalg::angle не проверяет, задан ли расчет в соответствующем звонке компонента. Это может привести к сообщению об ошибке, как показано в Примере 2.

Следующее отношение между углом между и и углом между и содержит:.

Сообщение об ошибке возвращено, если векторы не заданы по тому же звонку компонента.

Примеры

Пример 1

Мы вычисляем угол между этими двумя векторами и:

phi := linalg::angle( 
  matrix([2, 5]), matrix([-3, 3]) 
)

Мы используем функциональный float получить приближение с плавающей точкой этого номера:

float(phi)

Мы даем два дальнейших примера:

linalg::angle(
  matrix([1, -1]), matrix([1, 1])
)

linalg::angle(
  matrix([1, 1]), matrix([-1, -1])
)

Пример 2

linalg::angle не проверяет, задан ли термин в соответствующем звонке компонента.

Как пример, мы пытаемся вычислить угол между двумя векторами с компонентами в 7:

MatZ7 := Dom::Matrix(Dom::IntegerMod(7))

Следующий вызов приводит к ошибке, потому что 2-норма не может быть вычислена:

linalg::angle(MatZ7([1, 1]), MatZ7([-1, -1]))
Error: Integer exponent expected. [(Dom::IntegerMod(7))::_power]

Обратите внимание на то, что доменный Dom::IntegerMod(7) не реализует квадратный корень из элемента, поэтому в MuPAD®, вы не можете вычислить угол никаких двух векторов по 7.

Параметры

uV

Векторы той же размерности; вектором является n ×1 или 1 ×n матрица области категории Cat::Matrix

Возвращаемые значения

Арифметическое выражение.

Смотрите также

Функции MuPAD