Code covered by the BSD License

### Highlights from Stacked Matrix Permutation

Be the first to rate this file! 3 Downloads (last 30 days) File Size: 2.02 KB File ID: #42145

# Stacked Matrix Permutation

### Emanuele Ruffaldi (view profile)

Simplify the reordering of the sub-dimensions in a stacked matrices

File Information
Description

When a MATLAB matrix contains submatrices related to various factors it is sometime needed to reorder them along different factors.

E.g. we have a 2D matrix where rows are organized by 141 runs each made of 8 parts. Along the columns we have 21 microphones. A training algorithm requires to merge parts and microphone, needing a 2D matrix with the 141 runs in the rows, and both parts and microphones in the columns.

The initial layout can be expressed as: (parts runs) x (mics) where the terms in parenthesis are organized as in an inverse nested loops: for the rows we first iterate by runs and then by parts. That is from inner loop to outer loops in left to right. The target layout is instead: (runs) x (parts mics)

The general problem for 2D matrices is (A B C...) x (D E F...), and the resolution relies on the fact that MATLAB stores matrices in column order, that is we can use a single flat representation as (A B C D E F) with the same ordering from inner to outer.

This function is similar to permute but it manipulates the sub-dimensions defined inside rows or columns of a given matrix.

Required Products MATLAB
MATLAB release MATLAB 8.0 (R2012b)