Interleave Vectors or Matrices

版本 1.1.0.0 (5.5 KB) 作者: Steven Shimizu
Interleaves rows or columns of any number of vectors or matrices
1.5K 次下载
更新时间 2014/3/5

查看许可证

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]

引用格式

Steven Shimizu (2024). Interleave Vectors or Matrices (https://www.mathworks.com/matlabcentral/fileexchange/45757-interleave-vectors-or-matrices), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2012a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Interleaving 的更多信息
致谢

参考作品: interleave

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

Modified description

1.0.0.0