MATLAB ist eine Software-Umgebung häufig in technischen Datenerhebung, Modellierung und Analyse verwendet. Ein 3D Vektorfeld ist eine Sammlung von Vektoren , die jeweils lokalisierte zu einem Punkt in einem dreidimensionalen Raum . Vector Bereichen, vor allem in drei Dimensionen sind in Physik und Technik üblich. Obwohl MATLAB nicht enthält eine spezielle Funktion für Vektor- Felder , ist es einfach zu erklären, sie mit grundlegenden MATLAB-Funktionen . Anleitung
1
Declare eine Reihe von Punkten in drei Dimensionen , an denen die Werte für Ihre Vektorfeld sind vertreten mit dem " meshgrid () "-Funktion werden. Die meshgrid ()-Funktion repliziert eine Reihe von Vektoren , um eine Matrix zu erstellen. Zum Beispiel , um ein Raster von -10 bis 10 zu schaffen, in Schritten von 1 in drei Dimensionen ein:
[X , Y, Z ] = meshgrid ( -10:10 , -10:10 , -10 : . 10);
Jede der Matrizen x , Y und Z der Dimension 21 x 21 x 21 , die jeweils die Werte der x-, y -und z- Dimensionen in einem bestimmten -Index
2
ordnen Wert auf die x , y und z Betrag des Vektors an jedem der entsprechenden Punkte entfernt. Obwohl dies häufig auf eine Formel, die berechnet werden kann unter Verwendung der Ergebnisse meshgrid () oder aus gemessenen Beobachtungen basieren , können Sie zufällige Werte für dieses Beispiel verwenden
vec_x = rand (size ( X) ) . vec_y = rand (size ( Y) ); vec_z = rand (size ( Z) );
3
Konvertieren Sie die vorhandenen separaten Matrizen zu einer Zelle Array für einfache programmgesteuerten Zugriff :
my_temp_array = Nullen ( [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