MATLAB 帮助中心
叉积
C = cross(A,B)
C = cross(A,B,dim)
C = cross(A,B) 返回 A 和 B 的叉积。
A,B
A
B
如果 A 和 B 为向量,则它们的长度必须为 3。
如果 A 和 B 为矩阵或多维数组,则它们必须具有相同大小。在这种情况下,cross 函数将 A 和 B 视为三元素向量集合。该函数计算对应向量沿大小等于 3 的第一个数组维度的叉积。
cross
示例
C = cross(A,B,dim) 计算数组 A 和 B 沿维度 dim 的叉积。A 和 B 必须具有相同的大小,并且 size(A,dim) 和 size(B,dim) 必须为 3。dim 输入是一个正整数标量。
dim
size(A,dim)
size(B,dim)
全部折叠
创建两个三维向量。
A = [4 -2 1]; B = [1 -1 3];
求出 A 和 B 的叉积。结果 C 是同时与 A 和 B 垂直的一个向量。
C
C = 1×3 -5 -11 -2
使用点积验证 C 是否与 A 和 B 垂直。
dot(C,A)==0 & dot(C,B)==0
ans = logical 1
结果为逻辑值 1 (true)。
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 = 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) 的叉积。
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) 的叉积。
C(1,:,1)
A(1,:,1)
B(1,:,1)
求出 A 和 B 沿第三个维度 (dim = 3) 的叉积。
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,:) 的叉积。
D(1,1,:)
A(1,1,:)
B(1,1,:)
输入数组,指定为数值数组。
数据类型: single | double 复数支持: 是
single
double
沿其运算的维度,指定为正整数标量。维度 dim 的大小必须为 3。如果未指定值,则默认值是大小等于 3 的第一个数组维度。
考虑两个二维输入数组:A 和 B:
cross(A,B,1) 将 A 和 B 的列视为向量,并返回对应列的叉积。
cross(A,B,1)
cross(A,B,2) 将 A 和 B 的行视为向量,并返回对应行的叉积。
cross(A,B,2)
如果 dim 大于 ndims(A),则 cross 返回错误。
ndims(A)
两个三维向量之间的叉积生成一个与这两个向量都垂直的新向量。
考虑两个向量
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‖=‖A‖ ‖B‖sinα .
因此,如果 A 和 B 平行,则叉积为零。
全部展开
用法说明和限制:
如果使用 dim 参量,它在代码生成时必须为常量。
代码生成不支持对此函数使用稀疏矩阵输入。
如果 A 和 B 在代码生成时为可变大小数组且在运行时为向量,则运行时向量必须具有相同的方向。
如果提供 dim,则它必须为常量。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
cross 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
dot | kron | norm
dot
kron
norm
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处