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
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
Cree una cuadrícula rectangular y calcule los valores de función en la cuadrícula. Interpole entre los valores asignados para refinar la cuadrícula.
Cree una cuadrícula de baja resolución para , donde el rango de es y el rango de es .
[X,Y] = ndgrid(-6:0.5:6,-3:0.5:3);
Evalúe la función en las ubicaciones definidas en la cuadrícula. Luego, visualice la función utilizando una gráfica de superficie. Como alternativa, desde la versión R2016b, puede utilizar ampliación implícita para esta tarea.
f = sin(X.^2) .* cos(Y.^2); surf(Y,X,f)
Interpole entre los puntos en una cuadrícula más fina (Xq,Yq)
. Luego, visualice los valores interpolados utilizando una gráfica de superficie.
[Xq,Yq] = ndgrid(-6:0.125:6,-3:0.125:3);
F = interpn(X,Y,f,Xq,Yq,"spline");
surf(Yq,Xq,F)
Argumentos de entrada
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í
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
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
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™.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en entornos basados en subprocesos.
La función ndgrid
es compatible con entradas de arreglos de GPU con estas 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).
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
MATLAB Command
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)