cross

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

Описание

пример

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

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

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

пример

C = cross(A,B,dim) оценивает векторное произведение массивов A и B по измерению, dimA и 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