2010-10-26 35 views
12

Ho una matrice 3D con le dimensioni 6, 2 e 10. Voglio che la dimensione della riga cambi posizione con la dimensione altezza, ovvero 10-2-6. reshape non raggiunge questo come voglio.Rotazione di una matrice 3D in MATLAB

Come si può fare? Posso ruotare la matrice?

risposta

17

Penso che stiate cercando permute. Per il tuo caso è, permute(A,[3 2 1]);. Ecco una descrizione di permute dalla documentazione:

B = permute(A,order) riordina le dimensioni di A in modo che siano in nell'ordine specificato dal vettore ordine. B ha gli stessi valori di A ma l'ordine degli abbonati necessari per l'accesso a qualsiasi elemento particolare è riorganizzato come specificato dall'ordine. Tutti gli gli elementi dell'ordine devono essere unici. Gli elementi dell'ordine devono essere unici.

È simile alla trasposizione di una matrice 2D.

Problemi correlati