question about matrix interleavers??
1 回表示 (過去 30 日間)
古いコメントを表示
how to interleave a matrix and deinterleave it?? so it gets back to its original state?
3 件のコメント
採用された回答
Azzi Abdelmalek
2013 年 5 月 26 日
you can use reshape function. give an example of matrices you want to interleave
9 件のコメント
Azzi Abdelmalek
2013 年 5 月 26 日
There are many function to change your matrix
flipud
fliplr
rot90
circshift
その他の回答 (1 件)
Image Analyst
2013 年 5 月 26 日
Not sure what you mean, but here's one way/interpretation:
m1 = magic(6)
m2 = ones(10, 6)
columns = size(m1, 2)
m1Rows = size(m1, 1)
m2Rows = size(m2, 1)
m3 = zeros(m1Rows+m2Rows, columns);
% Interleave. If there's any difference in the number of rows,
% the mismatching rows will be zero.
% You could handle that differently if you want to,
% for example, just append the remaining rows
% of the taller array.
for row = 1 : max([m1Rows, m2Rows])
m3Row = 2 * (row-1)+1;
if row <= m1Rows
m3(m3Row, :) = m1(row, :);
end
if row <= m2Rows
m3(m3Row+1, :) = m2(row, :);
end
end
m3
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Interleaving についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!