Come dichiarare un campo 3D in MATLAB

January 19

Come dichiarare un campo 3D in MATLAB


MATLAB è un ambiente software utilizzato di frequente nella raccolta di dati tecnici, la modellazione e l'analisi. Un campo vettoriale 3D è una raccolta di vettori, ciascun localizzata ad un punto nello spazio tridimensionale. campi vettoriali, soprattutto in tre dimensioni, sono comuni in fisica e ingegneria. Sebbene MATLAB non contiene una funzione specializzata per campi vettoriali, è semplice dichiarare utilizzando le funzioni di base di MATLAB.

istruzione

1 Dichiarare un insieme di punti in tre dimensioni in cui i valori per il campo vettoriale devono essere rappresentati utilizzando il "meshgrid) (" la funzione. La funzione meshgrid () replica una serie di vettori per creare una matrice. Ad esempio, per creare una griglia da -10 a 10 in passi di 1 in tre dimensioni, tipo:

[X, Y, Z] = meshgrid (-10: 10, -10: 10, -10: 10);

Ciascuna delle matrici X, Y e Z sono di dimensione 21 x 21 x 21, ciascuna corrispondente ai valori di x, yez dimensioni da un particolare indice.

2 Assegnare valore alla x, yez grandezza del vettore situata a ciascuno dei punti corrispondenti. Anche se questo sarà comunemente essere basata su una formula che può essere calcolato utilizzando i risultati di meshgrid () o da osservazioni misurati, è possibile utilizzare valori casuali per questo esempio.

vec_x = rand (dimensione (X));
vec_y = rand (dimensione (Y));
vec_z = rand (dimensione (Z));

3 Convertire le matrici distinte esistenti a un array di celle per la facilità di accesso programmatico:

my_temp_array = zeri ([size (X) 6]);
my_temp_array (:,:,:, 1) = X;
my_temp_array (:,:,:, 2) = Y;
my_temp_array (:,:,:, 3) = Z;
my_temp_array (:,:,:, 4) = vec_x;
my_temp_array (:,:,:, 5) = vec_y;
my_temp_array (:,:,:, 6) = vec_z;
my_vector_field = num2cell (my_temp_array, 4);
my_temp_array chiaro