MATLAB är en programvara miljö används ofta i tekniska datainsamling , modellering och analys . En 3D vektorfält är en samling av vektorer , var och en lokaliserad till en punkt i ett tredimensionellt rum . Vektorfält , speciellt i tre dimensioner , är vanliga i fysik och teknik . Även MATLAB inte innehåller en specialiserad funktion för vektorfält , är det enkelt att förklara dem med grundläggande MATLAB -funktioner . Instruktioner
1
Deklarera en uppsättning punkter i tre dimensioner där värdena för din vektorfält ska representeras med " meshgrid ( ) " -funktion . Den meshgrid ( ) funktionen replikerar en serie av vektorer för att skapa en matris . Till exempel , för att skapa ett rutnät från -10 till 10 i steg om 1 i tre dimensioner , typ :
[ X , Y , Z ] = meshgrid ( -10:10 , -10:10 , -10 : . 10 );
varje matris x, Y och Z är av dimension 21 x 21 x 21 , var och en motsvarande värdena på x, y och z dimensioner på ett visst index
2
Tilldela värde till x , y och z magnitud av vektorn belägen vid var och en av motsvarande punkter . Även detta kommer vanligen att baseras på en formel som kan beräknas med hjälp av resultaten från meshgrid ( ) eller från uppmätta observationer , kan du använda slumpmässiga värden för detta exempel
vec_x = rand ( size ( X ) ) . ; vec_y = rand ( size ( Y ) ) , vec_z = rand ( size ( Z ) ) ;
3
Konvertera befintliga separata matriser till en cell array för enkel programmatisk åtkomst :
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 ) ; klar my_temp_array