Concatenate two vectors with different dimensions and sort the result in an ascending order.

Hi,
If I have two vectors with different dimensions as following:
A = [ 1 ; 3 ; 6];
B = [ 2 ; 4 ; 5 ; 7, 0];
How can I vertically concatenate them and then sort their elements in an ascending order so the result would be as:
C = [0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7]
Thanks.

2 commentaires

I have tried "cat" but it only works for concatenating two vectors of similar dimensions.

Connectez-vous pour commenter.

Réponses (2)

Luca Ferro
Luca Ferro le 5 Avr 2023
Modifié(e) : Luca Ferro le 5 Avr 2023
Be careful because you made a typo while defining B, the last element has a ',' instead of a ';'. B = [ 2 ; 4 ; 5 ; 7 >,< 0];
After correctly defining it, you should be able to do this:
A = [ 1 ; 3 ; 6];
B = [ 2 ; 4 ; 5 ; 7; 0];
C=sort(vertcat(A,B));
or even a shorter variation:
C=sort([A;B]);
vertcat(A,B) or cat(1,A,B) or just [A;B] is what you need to concatenate vertically. then just sort
Your code however gives the "concatenated not consistent" error because in B the last element is separated by a comma instead of a semicolon.
A = [ 1 ; 3 ; 6];
B = [ 2 ; 4 ; 5 ; 7; 0];
C = sort([A;B])
C = 8×1
0 1 2 3 4 5 6 7

Catégories

Modifié(e) :

le 5 Avr 2023

Community Treasure Hunt

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

Start Hunting!

Translated by