Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

cross

说明

示例

C = cross(A,B) 返回 AB叉积

  • 如果 AB 为向量,则它们的长度必须为 3。

  • 如果 AB 为矩阵或多维数组,则它们必须具有相同大小。在这种情况下,cross 函数将 AB 视为三元素向量集合。该函数计算对应向量沿大小等于 3 的第一个数组维度的叉积。

示例

C = cross(A,B,dim) 计算数组 AB 沿维度 dim 的叉积。AB 必须具有相同的大小,并且 size(A,dim)size(B,dim) 必须为 3。dim 输入是一个正整数标量。

示例

全部折叠

创建两个三维向量。

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

求出 AB 的叉积。结果 C 是同时与 AB 垂直的一个向量。

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

    -5   -11    -2

使用点积验证 C 是否与 AB 垂直。

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

求出 AB 的叉积。

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

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

结果 C 包含 AB 的列之间的五个独立叉积。例如,C(:,1) 等于 A(:,1)B(:,1) 的叉积。

创建两个 3×3×3 的多维随机整数数组。

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

求出 AB 的叉积,并将行视为向量。

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) 的叉积。

求出 AB 沿第三个维度 (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 的第一个数组维度。

考虑两个二维输入数组:AB

  • cross(A,B,1)AB 的列视为向量,并返回对应列的叉积。

  • cross(A,B,2)AB 的行视为向量,并返回对应行的叉积。

cross(A,B,1) column-wise computation and cross(A,B,2) row-wise computation.

如果 dim 大于 ndims(A),则 cross 返回错误。

详细信息

全部折叠

叉积

两个三维向量之间的叉积生成一个与这两个向量都垂直的新向量。

考虑两个向量

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 平行,则叉积为零。

Vector A along the x-axis and vector B along the y-axis. Their cross product is perpendicular to both along the z-axis. The area of the parallelogram formed in the xy-plane by A and B is equal to the magnitude of the cross product.

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

| |