How to create a matrix, table or a cell where in odd columns variables from matrix A and in even columns variabls from matrix B will be stored?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
George Ansari
le 4 Août 2017
Réponse apportée : Peter Perkins
le 4 Août 2017
For instance, I have two matrices A = ones(5,24) and B = zeros(5,24), I need to create a matrix 'C', where the first column of 'C' will consist of elements of A(:,1), the second column of 'C' will consist of B(:,1), the third column of 'C' will consist of elements of A(:,2), the fourth column of 'C' will consist of B(:,2) and so on.
Also, I'd like to know how the same can be applied to cell arrays and how the table of the same format could be constructed from matrices? For loops are ok.
Many thanks.
0 commentaires
Réponse acceptée
Peter Perkins
le 4 Août 2017
This should work for numeric, cell and table, although Adam's is likely more efficient for numeric:
>> x1 = array2table(rand(3))
x1 =
3×3 table
Var1 Var2 Var3
_______ ________ _______
0.77917 0.56882 0.33712
0.93401 0.46939 0.16218
0.12991 0.011902 0.79428
>> x2 = array2table(randn(3),'VariableNames',{'Var4' 'Var5' 'Var6'})
x2 =
3×3 table
Var4 Var5 Var6
________ ________ ________
-0.88803 0.30352 0.73936
0.10009 -0.60033 1.7119
-0.54453 0.48997 -0.19412
>> x = [x1 x2]
x =
3×6 table
Var1 Var2 Var3 Var4 Var5 Var6
_______ ________ _______ ________ ________ ________
0.77917 0.56882 0.33712 -0.88803 0.30352 0.73936
0.93401 0.46939 0.16218 0.10009 -0.60033 1.7119
0.12991 0.011902 0.79428 -0.54453 0.48997 -0.19412
>> x = x(:,[(1:3)+[0;3]]) % requires 16b or later, otherwise use bsxfun
x =
3×6 table
Var1 Var4 Var2 Var5 Var3 Var6
_______ ________ ________ ________ _______ ________
0.77917 -0.88803 0.56882 0.30352 0.33712 0.73936
0.93401 0.10009 0.46939 -0.60033 0.16218 1.7119
0.12991 -0.54453 0.011902 0.48997 0.79428 -0.19412
0 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!