MATLAB er en programvare miljø brukes ofte i teknisk data innsamling, modellering og analyse . En 3D vektor -feltet er en samling av vektorer , hver lokalisert til et punkt i tredimensjonalt rom . Vektorfelt , spesielt i tre dimensjoner, er vanlig i fysikk og ingeniørfag . Selv om MATLAB ikke inneholder en spesialisert funksjon for vektorfelt , er det enkelt å erklære dem ved hjelp av grunnleggende MATLAB funksjoner. Instruksjoner
en
Erklærer et sett av punkter i tre dimensjoner der verdiene for dine vektor feltet skal være representert med " meshgrid ( ) "-funksjonen . Den meshgrid ()-funksjonen replikater en serie av vektorer for å skape en matrise . For eksempel vil opprette et rutenett -10 til 10 i trinn på 1 i tre dimensjoner , type:
[X , Y, Z ] = meshgrid ( -10:10 , -10:10 , -10 : . 10),
hver av matriser x , Y og Z er av dimensjon 21 x 21 x 21 , som svarer til verdiene av x-, y -og z- dimensjoner på en bestemt indeks
2
tildele verdi til x , y og z størrelsen på vektoren lokalisert ved hver av de tilsvarende punkter . Selv om dette vil ofte være basert på en formel som kan beregnes ved hjelp av resultatene av meshgrid ( ) eller fra målte observasjoner , kan du bruke tilfeldige verdier for dette eksempelet
vec_x = rand ( størrelse ( X ) ) . ; vec_y = rand ( størrelse ( Y )); vec_z = rand ( størrelse ( Z ));
3
Konverter eksisterende separate matriser til en celle array for enkel programmatisk tilgang :
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 ) ; klart my_temp_array