cross
Producto cruz
Sintaxis
Descripción
C = cross(
devuelve el producto cruz de A,B
)A
y B
.
Si
A
yB
son vectores, deben tener una longitud de 3.Si
A
yB
son matrices o arreglos multidimensionales, deben tener el mismo tamaño. En este caso, la funcióncross
trataA
yB
como recopilaciones de vectores de tres elementos. La función calcula el producto cruz de los vectores correspondientes en la primera dimensión del arreglo cuyo tamaño es igual a 3.
Ejemplos
Producto cruz de vectores
Cree dos vectores 3D.
A = [4 -2 1]; B = [1 -1 3];
Encuentre el producto cruz de A
y B
. El resultado, C
, es un vector perpendicular tanto a A
como a B
.
C = cross(A,B)
C = 1×3
-5 -11 -2
Utilice productos punto para verificar que C
es perpendicular a A
y a B
.
dot(C,A)==0 & dot(C,B)==0
ans = logical
1
El resultado es un 1
(true
) lógico.
Producto cruz de matrices
Cree dos matrices que contengan enteros aleatorios.
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
Encuentre el producto cruz de A
y B
.
C = cross(A,B)
C = 3×5
300 122 -114 -228 -181
-291 -198 -105 -30 55
87 136 101 234 175
El resultado, C
, contiene cinco productos cruz independientes entre las columnas de A
y B
. Por ejemplo, C(:,1)
es igual al producto cruz de A(:,1)
con B(:,1)
.
Producto cruz de arreglos multidimensionales
Cree dos arreglos multidimensionales de 3 por 3 por 3 de enteros aleatorios.
A = randi(10,3,3,3); B = randi(25,3,3,3);
Encuentre el producto cruz de A
y B
, tratando las filas como vectores.
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
El resultado es una recopilación de vectores fila. Por ejemplo, C(1,:,1)
es igual al producto cruz de A(1,:,1)
con B(1,:,1)
.
Encuentre el producto cruz de A
y B
en la tercera dimensión (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
El resultado es una recopilación de vectores orientados a la tercera dimensión. Por ejemplo, D(1,1,:)
es igual al producto cruz de A(1,1,:)
con B(1,1,:)
.
Argumentos de entrada
A,B
— Arreglos de entrada
arreglos numéricos
Arreglos de entrada, especificados como arreglos numéricos.
Tipos de datos: single
| double
Soporte de números complejos: Sí
dim
— Dimensión en la que operar
escalar entero positivo
Dimensión en la que operar, especificada como escalar entero positivo. El tamaño de la dimensión dim
debe ser 3. Si no se especifica ningún valor, el valor predeterminado es la primera dimensión del arreglo cuyo tamaño es igual a 3.
Considere dos arreglos de entrada 2D, A
y B
:
cross(A,B,1)
trata las columnas deA
yB
como vectores y devuelve los productos cruz de las columnas correspondientes.cross(A,B,2)
trata las filas deA
yB
como vectores y devuelve los productos cruz de las filas correspondientes.
cross
devuelve un error si dim
es mayor que ndims(A)
.
Más acerca de
Producto cruz
El producto cruz entre dos vectores 3D produce un vector nuevo que es perpendicular a ambos.
Considere los dos vectores
En términos de un determinante de matriz con los vectores básicos , y , el producto cruz de A y B es
Geométricamente, es perpendicular tanto a A como a B. La magnitud del producto cruz, , es igual al área del paralelogramo que se forma al usar A y B como lados. Esta área está relacionada con las magnitudes de A y B, así como con el ángulo entre los vectores por
En consecuencia, si A y B son paralelos, el producto cruz es cero.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
Si se proporciona,
dim
debe ser una constante.Consulte Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
La generación de código no es compatible con entradas de matrices dispersas en esta función.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Si se proporciona,
dim
debe ser una constante.La generación de código no es compatible con entradas de matrices dispersas en esta función.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
La función cross
es totalmente compatible con los arreglos de GPU. Para ejecutar la función en una GPU, especifique los datos de entrada como un gpuArray
(Parallel Computing Toolbox). Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006a
Consulte también
Sitios web externos
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)