You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
A robust interleave function that interleaves any number of vectors or matrices by row or column. If the input are just vectors, there is no need to specify orientation. Extra elements/rows/columns are appended on the end of the output matrix. Not the most efficient algorithm, but it works well for most operations.
Examples:
1) Interleaving rows of matrices
A = [1 2; 3 4] B = [5 6;7 8]
C = interleave2(A, B, 'row')
C = [1 2
5 6
3 4
7 8]
2) Interleaving columns of matrices
C = interleave2(A, B, 'col')
C = [1 5 2 6
3 7 4 8]
3) Interleaving vectors (Note: input vectors need not be same orientation)
A = [1 2 3 4] B = [5 6 7 8 9]'
C = interleave2(A, B)
C = [1 5 2 6 3 7 4 8 9]'
4) Interleaving >2 matrices
A = [1 2;3 4] B = [5 6;7 8]
C = [9 10;11 12] D = [13 14;15 16]
E = interleave2(A, B, C, D, 'col')
E = [1 5 9 13 2 6 10 14
3 7 11 15 4 8 12 16]
5) Interleaving columns of 2 matrices with unequal columns
A = [1 2;3 4]
B = [5 6 7 8;9 10 11 12]
C = interleave2(A, B, 'col')
C = [1 5 2 6 7 8
3 9 4 10 11 12]
6) Interleaving >2 vectors of unequal lengths
A = [1 2 3 4] B = [5 6 7]
C = [8 9 10 11 12 13]
D = interleave2(A, B, C)
D = [1 5 8 2 6 9 3 7 10 4 11 12 13]
Cite As
Steven Shimizu (2026). Interleave Vectors or Matrices (https://www.mathworks.com/matlabcentral/fileexchange/45757-interleave-vectors-or-matrices), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: interleave
General Information
- Version 1.1.0.0 (5.48 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
