exponenta event banner

крест

Перекрестный продукт

Описание

пример

C = cross(A,B) возвращает перекрестное произведение A и B.

  • Если A и B являются векторами, то они должны иметь длину 3.

  • Если A и B являются матрицами или многомерными массивами, то они должны иметь одинаковый размер. В этом случае cross функция обрабатывает A и B в виде коллекций трехэлементных векторов. Функция вычисляет перекрестное произведение соответствующих векторов вдоль первого размера массива, размер которого равен 3.

пример

C = cross(A,B,dim) вычисляет перекрестное произведение массивов A и B вдоль размера, dim. A и B должны иметь одинаковый размер, и оба size(A,dim) и size(B,dim) должно быть 3. dim input является положительным целочисленным скаляром.

Примеры

свернуть все

Создайте два вектора 3-D.

A = [4 -2 1];
B = [1 -1 3];

Найти перекрестный продукт A и B. Результат, C, является вектором, который перпендикулярен обоим A и B.

C = cross(A,B)
C = 1×3

    -5   -11    -2

Используйте точечные продукты для проверки того, что C перпендикулярно A и B.

dot(C,A)==0 & dot(C,B)==0
ans = logical
   1

Результат логичен 1 (true).

Создайте две матрицы, содержащие случайные целые числа.

A = randi(15,3,5)
A = 3×5

    13    14     5    15    15
    14    10     9     3     8
     2     2    15    15    13

B = randi(25,3,5)
B = 3×5

     4    20     1    17    10
    11    24    22    19    17
    23    17    24    19     5

Найти перекрестный продукт A и B.

C = cross(A,B)
C = 3×5

   300   122  -114  -228  -181
  -291  -198  -105   -30    55
    87   136   101   234   175

Результат, C, содержит пять независимых перекрестных продуктов между столбцами A и B. Например, C(:,1) равно поперечному произведению A(:,1) с B(:,1).

Создайте два многомерных массива случайных чисел 3 на 3.

A = randi(10,3,3,3);
B = randi(25,3,3,3);

Найти перекрестный продукт A и B, рассматривая строки как векторы.

C = cross(A,B,2)
C = 
C(:,:,1) =

   -34    12    62
    15    72  -109
   -49     8     9


C(:,:,2) =

   198  -164  -170
    45     0   -18
   -55   190  -116


C(:,:,3) =

  -109   -45   131
     1   -74    82
    -6   101  -121

Результатом является набор векторов строк. Например, C(1,:,1) равно поперечному произведению A(1,:,1) с B(1,:,1).

Найти перекрестный продукт A и B вдоль третьего измерения (dim = 3).

D = cross(A,B,3)
D = 
D(:,:,1) =

   -14   179  -106
   -56    -4   -75
     2   -37    10


D(:,:,2) =

   -37  -162   -37
    50  -124   -78
     1    63   118


D(:,:,3) =

    62  -170    56
    46    72   105
    -2   -53  -160

Результатом является совокупность векторов, ориентированных в третьем измерении. Например, D(1,1,:) равно поперечному произведению A(1,1,:) с B(1,1,:).

Входные аргументы

свернуть все

Входные массивы, указанные как числовые массивы.

Типы данных: single | double
Поддержка комплексного номера: Да

Размерность для работы, заданная как целочисленный скаляр. Размер размера dim должно быть 3. Если значение не указано, по умолчанию используется первый размер массива, размер которого равен 3.

Рассмотрим два 2-D входных массива, A и B:

  • cross(A,B,1) обрабатывает столбцы A и B в виде векторов и возвращает перекрестные произведения соответствующих столбцов.

  • cross(A,B,2) обрабатывает строки A и B в виде векторов и возвращает перекрестные произведения соответствующих строк.

cross возвращает ошибку, если dim больше, чем ndims(A).

Подробнее

свернуть все

Перекрестный продукт

Перекрестное произведение между двумя векторами 3-D создает новый вектор, перпендикулярный обоим векторам.

Рассмотрим два вектора

A = a1i ^ + a2j ^ + a3k ^, B = b1i ^ + b2j ^ + b3k ^.

В терминах матричного определителя, включающего базисные векторы i ^, j ^ и k ^, перекрестное произведение A и B равно

C = A × B = | i ^ j ^ k ^ a1b1a2b2a3b3 | = (a2b3 a3b2) i ^ + (a3b1 a1b3) j ^ + (a1b2 − a2b1) k ^.

Геометрически A × B перпендикулярен и A, и B. Величина поперечного произведения, A × B ‖, равна площади параллелограмма, образованного с использованием A и B в качестве сторон. Эта область связана с величинами A и B, а также углом между векторами на

‖A×B = ‖B‖sinα.

Таким образом, если А и В параллельны, то перекрестное произведение равно нулю.

Расширенные возможности

..

См. также

| |

Представлен до R2006a