Effacer les filtres
Effacer les filtres

merging two matrices (cell matrices)

4 vues (au cours des 30 derniers jours)
ARS
ARS le 18 Avr 2013
Hi,
I have two Matrices of dimension A=(63x181) and B=(63x181) I wish to get a matrix 'C' which has its first column from A and 2nd column from B. Then 3rd column from A and 4rth Column from B and so on till the end.
So, Matrix C will have 63 rows and 362 columns (181*2). Order of rown should remain the same.
I am using this code but it only writes one row. Doesn't write the full 63 rows of each column.
for m=2:2:362;
n=m-1;
x=m/2;
C{:,n}=A{:,x};
C{:,m}=B{:,x};
end;
Your help will be highly appreciated. I wonder if there is any builtin function like Cat(), vertcat() to for this.
Regards
AMD.

Réponse acceptée

Cedric
Cedric le 18 Avr 2013
Modifié(e) : Cedric le 18 Avr 2013
The following would be one way if I interpret well your question (which is not completely clear):
C = reshape([A;B], size(A,1), []) ;
It creates a matrix with the following structure:
C = [A(:,1),B(:,1),A(:,2),B(:,2), ..., A(:,181),B(:,181)]

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 18 Avr 2013
C = zeros(size(A).*[1 2]);
C(:,1:2:end) = A;
C(:,2:2:end) = B;

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by