Nwlapcug.com


Come dichiarare un campo 3D in MATLAB

Come dichiarare un campo 3D in MATLAB


MATLAB è un ambiente software utilizzato frequentemente in analisi, modellazione e raccolta di dati tecnici. Un campo vettoriale 3D è un insieme di vettori, ciascuna localizzata in un punto nello spazio tridimensionale. Campi vettoriali, soprattutto in tre dimensioni, sono comuni in fisica e ingegneria. Anche se MATLAB non contiene una funzione specializzata per campi vettoriali, è semplice per dichiararle utilizzando le funzioni base di MATLAB.

Istruzioni

1

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

[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, y e z dimensioni a un particolare indice.

2

Assegnare il valore alla x, y e z l'ampiezza del vettore situato a ciascuno dei punti corrispondenti. Mentre questo comunemente sarà basato su una formula che può essere calcolata utilizzando i risultati di meshgrid() o dalle osservazioni misurate, è possibile utilizzare valori casuali per questo esempio.

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

3

Convertire le matrici distinte esistente in una matrice di celle per la facilità di accesso a livello di codice:

my_temp_array = zeros([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);
chiaro my_temp_array