ndgrid
Griglia rettangolare nello spazio N-D
Descrizione
[ replica i vettori della griglia X1,X2,...,Xn] = ndgrid(x1,x2,...,xn)x1,x2,...,xn per produrre una griglia completa n-dimensionale.
[ specifica un singolo vettore della griglia X1,X2,...,Xn] = ndgrid(xg)xg da utilizzare per tutte le dimensioni. Il numero di argomenti di output specificati determina la dimensionalità n dell'output.
Esempi
Creare una griglia bidimensionale dai vettori [1 3 5 7 9 11 13 15 17 19] e [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
Creare una griglia rettangolare e calcolare i valori della funzione sulla griglia. Interpolare tra i valori assegnati per perfezionare la griglia.
Creare una griglia approssimativa per , dove l'intervallo di è e l'intervallo di è .
[X,Y] = ndgrid(-6:0.5:6,-3:0.5:3);
Valutare la funzione nelle posizioni definite nella griglia. Quindi, visualizzare la funzione utilizzando un grafico di superficie. In alternativa, dalla release R2016b, è possibile utilizzare l'espansione implicita per questa attività.
f = sin(X.^2) .* cos(Y.^2); surf(Y,X,f)

Interpolare tra i punti su una griglia maggiormente perfezionata (Xq,Yq). Quindi, visualizzare i valori interpolati utilizzando un grafico di superficie.
[Xq,Yq] = ndgrid(-6:0.125:6,-3:0.125:3);
F = interpn(X,Y,f,Xq,Yq,"spline");
surf(Yq,Xq,F)
Argomenti di input
Vettori della griglia, specificati come vettori contenenti le coordinate della griglia per ciascuna dimensione. I vettori della griglia definiscono la griglia in modo implicito. Ad esempio, nello spazio bidimensionale:

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Supporto numeri complessi: Sì
Vettore della griglia per tutte le dimensioni, specificato come vettore contenente le coordinate della griglia. ndgrid utilizza xg come vettore della griglia per ciascuna dimensione.
Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Supporto numeri complessi: Sì
Argomenti di output
Rappresentazione completa della griglia, restituita come array separati. Per ciascun array di output Xi, l'i-esima dimensione contiene le copie del vettore della griglia xi.
Ulteriori informazioni
meshgrid e ndgrid creano griglie utilizzando formati di output diversi. Nello specifico, le prime due dimensioni di una griglia creata utilizzando una di queste funzioni vengono scambiate rispetto all'altro formato di griglia. Alcune funzioni di MATLAB® utilizzano griglie in formato meshgrid, mentre altre utilizzano il formato ndgrid; risulta quindi normale convertire le griglie tra i due formati.
La conversione tra questi due formati di griglia è possibile utilizzando pagetranspose (dalla release R2020b) o permute per scambiare le prime due dimensioni degli array della griglia. Ad esempio, creare una griglia tridimensionale con meshgrid.
[X,Y,Z] = meshgrid(1:4,1:3,1:2);
Ora trasporre le prime due dimensioni di ciascun array della griglia per convertirla nel formato ndgrid e confrontare i risultati ottenuti con gli output di 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
L’utilizzo di pagetranspose equivale a permutare le prime due dimensioni lasciando invariate le altre. È possibile eseguire questa operazione anche con permute(X,[2 1 3:ndims(X)]).
Funzionalità estese
Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.
Generazione di codice GPU
Genera codice CUDA® per GPU NVIDIA® con GPU Coder™.
La funzione ndgrid supporta completamente gli ambienti basati su thread. Per maggiori informazioni, vedere Run MATLAB Functions in Thread-Based Environment.
La funzione ndgrid supporta l'input di array GPU con queste note su utilizzo e limitazioni:
La sintassi monodimensionale,
X = ndgrid(x), restituisce un vettore colonnagpuArrayXhe contiene gli elementi dell'inputgpuArrayxda utilizzare come griglia monodimensionale.Gli input devono essere doppi o singoli in virgola mobile.
Per maggiori informazioni, vedere Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
La funzione ndgrid supporta array distribuiti con le seguenti note su utilizzo e limitazioni:
La sintassi monodimensionale
X = ndgrid(x), restituisce un vettore colonna dell'array distribuitoXche contiene gli elementi dell'array distribuito di inputxda utilizzare come griglia monodimensionale.Gli input devono essere doppi o singoli in virgola mobile.
Per maggiori informazioni, vedere Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Cronologia versioni
Introduzione prima di R2006a
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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- 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)