Effacer les filtres
Effacer les filtres

question about matrix interleavers??

1 vue (au cours des 30 derniers jours)
mary
mary le 26 Mai 2013
how to interleave a matrix and deinterleave it?? so it gets back to its original state?
  3 commentaires
mary
mary le 26 Mai 2013
interleaver: it rearrange or reshape the matrix deinterleaver : it restores the original arrangement of the maatrix
Image Analyst
Image Analyst le 26 Mai 2013
That's no answer.

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 26 Mai 2013
you can use reshape function. give an example of matrices you want to interleave
  9 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 26 Mai 2013
There are many function to change your matrix
flipud
fliplr
rot90
circshift
mary
mary le 26 Mai 2013
i will try these .. thank you indeed

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 26 Mai 2013
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

Community Treasure Hunt

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

Start Hunting!

Translated by