ndgrid
Cuadrícula rectangular en espacio en ND
Descripción
[
replica los vectores de cuadrícula X1,X2,...,Xn
] = ndgrid(x1,x2,...,xn
)x1,x2,...,xn
para producir una cuadrícula completa de n
dimensiones.
[
especifica un único vector de cuadrícula X1,X2,...,Xn
] = ndgrid(xg
)xg
que se utilizará en todas las dimensiones. El número de argumentos de salida que especifique determina la dimensionalidad n
de la salida.
Ejemplos
Crear una cuadrícula en 2D
Cree una cuadrícula en 2D a partir de los vectores [1 3 5 7 9 11 13 15 17 19]
y [2 4 6 8 10 12]
.
[X,Y] = ndgrid(1:2:19,2:2:12)
X = 10×6
1 1 1 1 1 1
3 3 3 3 3 3
5 5 5 5 5 5
7 7 7 7 7 7
9 9 9 9 9 9
11 11 11 11 11 11
13 13 13 13 13 13
15 15 15 15 15 15
17 17 17 17 17 17
19 19 19 19 19 19
Y = 10×6
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
Evaluar una función en un dominio de cuadrícula
Evalúe y represente la función
en el dominio de cuadrícula
y .
Cree una cuadrícula de valores para el dominio.
[X1,X2] = ndgrid(-2:.2:2);
Evalúe la función en el dominio.
Z = X1 .* exp(-X1.^2 - X2.^2);
Genere una gráfica de malla de la función.
mesh(X1,X2,Z)
En la versión R2016b y posteriores, esta tarea no requiere el uso de ndgrid
. En cambio, puede construir la cuadrícula utilizando la ampliación implícita con estos comandos:
x = -2:.2:2;
Z1 = x.' .* exp(-(x.').^2 - x.^2);
Interpolar datos
Cree una cuadrícula 2D y calcule algunos valores de funciones en la cuadrícula. Interpole entre los valores asignados para refinar la cuadrícula.
Cree una cuadrícula de baja resolución para en el intervalo .
[X,Y] = ndgrid(-5:0.5:5);
Calcule algunos valores de la función en la cuadrícula y represente la función.
f = sin(X.^2) * cos(Y.^2); surf(X,Y,f)
Interpole entre los puntos utilizando una cuadrícula más fina y represente el resultado.
[X1,Y1] = ndgrid(-5:0.125:5);
F = interpn(X,Y,f,X1,Y1,'spline');
surf(X1,Y1,F)
Argumentos de entrada
x1,x2,...,xn
— Vectores de cuadrícula (como argumentos separados)
vectores
Vectores de cuadrícula, especificados como vectores que contienen coordenadas de cuadrícula para cada dimensión. Los vectores de cuadrícula definen implícitamente la cuadrícula. Por ejemplo, en 2D:
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Soporte de números complejos: Sí
xg
— Vector de cuadrícula para todas las dimensiones
vectores
Vector de cuadrícula para todas las dimensiones, especificado como un vector que contiene coordenadas de cuadrícula. ndgrid
usa xg
como vector de cuadrícula para cada dimensión.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Soporte de números complejos: Sí
Argumentos de salida
X1,X2,...,Xn
— Representación en cuadrícula completa
arreglo
Representación en cuadrícula completa, devuelta como arreglos separados. Para cada arreglo de salida Xi
, la i
-ésima dimensión contiene copias del vector de cuadrícula xi
.
Más acerca de
Convertir entre los formatos meshgrid
y ndgrid
meshgrid
y ndgrid
crean cuadrículas con distintos formatos de salida. De forma específica, las dos primeras dimensiones de la cuadrícula creada con una de dichas funciones están intercambiadas en comparación con el otro formato de cuadrícula. Algunas funciones de MATLAB® emplean cuadrículas en el formato meshgrid
, mientras que otras utilizan el formato ndgrid
, por lo que es habitual convertir cuadrículas entre ambos formatos.
Puede convertir las cuadrículas entre esos formatos utilizando pagetranspose
(desde la versión R2020b) o permute
para intercambiar las dos primeras dimensiones de los arreglos de cuadrícula. Por ejemplo, cree una cuadrícula 3D con meshgrid
.
[X,Y,Z] = meshgrid(1:4,1:3,1:2);
A continuación, trasponga las dos primeras dimensiones de cada arreglo de cuadrícula para convertir la cuadrícula al formato ndgrid
y compare los resultados con las salidas de ndgrid
.
Xt = pagetranspose(X); Yt = pagetranspose(Y); Zt = pagetranspose(Z); [Xn,Yn,Zn] = ndgrid(1:4,1:3,1:2); isequal(Xt,Xn) & isequal(Yt,Yn) & isequal(Zt,Zn)
ans = logical 1
Utilizar pagetranspose
equivale a cambiar las dos primeras dimensiones y dejar las demás dimensiones igual. También puede llevar a cabo esta operación utilizando permute(X,[2 1 3:ndims(X)])
.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
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™.
Notas y limitaciones de uso:
La sintaxis 1D,
X = ndgrid(x)
, devuelve un vector columnagpuArray
X
que contiene los elementos de la entradagpuArray
x
para su uso como cuadrícula unidimensional.Las entradas deben ser dobles o simples de punto flotante.
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™.
Notas y limitaciones de uso:
La sintaxis de 1D,
X = ndgrid(x)
, devuelve un vector columna de arreglo distribuidoX
que contiene los elementos del arreglo distribuido de entradax
para usarlo como cuadrícula unidimensional.Las entradas deben ser dobles o simples de punto flotante.
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
griddedInterpolant
| mesh
| meshgrid
| combinations
| surf
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)