MATLAB is een software omgeving vaak gebruikt in technische gegevens verzamelen , modellering en analyse . Een 3D vectorveld is een verzameling van vectoren , elk gelokaliseerd op een punt in de driedimensionale ruimte . Vector velden , vooral in drie dimensies , komen vaak in de natuurkunde en techniek . Hoewel MATLAB niet een gespecialiseerde functie voor vector velden bevatten , is het eenvoudig te verklaren ze met behulp van elementaire MATLAB functies . Instructies 1 Verklaar een reeks van punten in drie dimensies , waarbij de waarden voor uw vectorveld worden weergegeven met behulp van de " meshgrid ( ) " functie . De meshgrid ( ) functie repliceert een reeks vectoren van een matrix te maken . Bijvoorbeeld , om een rooster te maken van -10 tot 10 in stappen van 1 in drie dimensies , type: [ X , Y , Z ] = meshgrid ( -10:10 , -10:10 , -10 : . 10 ) ; alle matrices x , Y en Z van de afmeting 21 x 21 x 21 , die elk overeenkomen met de waarden van de x , y en z dimensies een bepaalde index < br > 2 toewijzen waarde voor de x , y en z grootte van de vector bij elk van de overeenkomstige punten . Hoewel dit wordt er doorgaans op basis van een formule die kan worden berekend met behulp van de resultaten van meshgrid ( ) of uit gemeten waarnemingen , kunt u willekeurige waarden gebruiken voor dit voorbeeld vec_x = rand ( maat ( X) ) op . ; vec_y = rand ( afmeting ( Y ) ) ; vec_z = rand (grootte ( Z ) ) ; 3 Zet de bestaande afzonderlijke matrices naar een cel array voor het gemak van de programmatische toegang : < br > 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 ) ; duidelijke my_temp_array
|