Documentation Center

  • Trial Software
  • Product Updates

cross

Cross product

Syntax

Description

example

C = cross(A,B) returns the cross product of A and B.

  • If A and B are vectors, then they must have a length of 3.

  • If A and B are matrices or multidimensional arrays, then they must have the same size. In this case, the cross function treats A and B as collections of three-element vectors. The function calculates the cross product of corresponding vectors along the first array dimension whose size equals 3.

example

C = cross(A,B,dim) evaluates the cross product of arrays A and B along dimension, dim. A and B must have the same size, and both size(A,dim) and size(B,dim) must be 3. The dim input is a positive integer scalar.

Examples

expand all

Cross Product of Vectors

Create two 3-D vectors.

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

Find the cross product of A and B.

C = cross(A,B)
C =

    -5   -11    -2

The result, C, is a vector that is perpendicular to both A and B.

Use dot products to verify that C is perpendicular to A and B.

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

     1

The result is logical 1 (true).

Cross Product of Matrices

Create two matrices containing random integers.

rng(0)
A = randi(15,3,5)
B = randi(25,3,5)
A =

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


B =

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

Find the cross product of A and B.

C = cross(A,B)
C =

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

The result, C, contains five independent cross products between the columns of A and B. For example, C(:,1) is equal to the cross product of A(:,1) with B(:,1).

Cross Product of Multidimensional Arrays

Create two 3-by-3-by-3 multidimensional arrays of random integers.

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

Find the cross product of A and B, treating the rows as vectors.

C = cross(A,B,2)
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

The result is a collection of row vectors. For example, C(1,:,1) is equal to the cross product of A(1,:,1) with B(1,:,1).

Find the cross product of A and B along the third dimension (dim = 3).

D = cross(A,B,3)
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

The result is a collection of vectors oriented in the third dimension. For example, C(1,1,:) is equal to the cross product of A(1,1,:) with B(1,1,:).

Input Arguments

expand all

A,B — Input arraysnumeric arrays

Input arrays, specified as numeric arrays.

Data Types: single | double
Complex Number Support: Yes

dim — Dimension to operate alongpositive integer scalar

Dimension to operate along, specified as a positive integer scalar. The size of dimension dim must be 3. If no value is specified, the default is the first array dimension whose size equals 3.

Consider two 2-D input arrays, A and B:

  • cross(A,B,1) treats the columns of A and B as vectors and returns the cross products of corresponding columns.

  • cross(A,B,2) treats the rows of A and B as vectors and returns the cross products of corresponding rows.

cross returns an error if dim is greater than ndims(A).

More About

expand all

Cross Product

The cross product between two 3-D vectors produces a new vector that is perpendicular to both.

Consider the two vectors

In terms of a matrix determinant involving the basis vectors , , and , the cross product of A and B is

Geometrically, is perpendicular to both A and B. The magnitude of the cross product, , is equal to the area of the parallelogram formed using A and B as sides. This area is related to the magnitudes of A and B as well as the angle between the vectors by

Thus, if A and B are parallel, then the cross product is zero.

See Also

|

Was this topic helpful?