combine two Matrix in one column

4 vues (au cours des 30 derniers jours)
Basem Nouh
Basem Nouh le 29 Mai 2019
Commenté : Alex Mcaulley le 29 Mai 2019
Hi
i have two matrix A6*3 and B6*3
i want to combine all elements in one column but it must be sorted like the first element is A(1,1) then A(1,2) till A(6,3) then come all the elements from Matrix B
L=[A(1,1);A(1,2);A(1,3);A(2,1).......A(6,3);B(1,1);........B(6,3)];
thanks

Réponse acceptée

Alex Mcaulley
Alex Mcaulley le 29 Mai 2019
L = [reshape(A',[numel(A),1]);reshape(B',[numel(B),1])]
  2 commentaires
Basem Nouh
Basem Nouh le 29 Mai 2019
can u please explain how u did that ?
or how can we do it with loop ?
Alex Mcaulley
Alex Mcaulley le 29 Mai 2019
You can see it doing each part separately. Try with this example:
A = [1,2;3,4]
A =
1 2
3 4
>> B = [5,6;7,8]
B =
5 6
7 8
And you want a column vector with all the values:
L = [1;2;3;4;5;6;7;8]
If you execute de following reshape statements you obtain a column vector for each matrix:
reshape(A',[numel(A),1]) %A is transposed because Matlab take the values by columns
% and you want to take them by rows
ans =
1
2
3
4
See this for more information about reshape

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices 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!

Translated by