крест

Векторное произведение

Синтаксис

C = cross(A,B)
C = cross(A,B,dim)

Описание

пример

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 является положительным целочисленным скаляром.

Примеры

свернуть все

Создайте два 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х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.

Рассмотрите два 2D входных массива, 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|=(a2b3a3b2)i^+(a3b1a1b3)j^+(a1b2a2b1)k^.

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

A×B=ABsinα.

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

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

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

| |

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