Concatenate two vectors with different dimensions and sort the result in an ascending order.
29 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Luca Ferro
2023 年 4 月 5 日
編集済み: Luca Ferro
2023 年 4 月 5 日
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]);
0 件のコメント
MarKf
2023 年 4 月 5 日
編集済み: MarKf
2023 年 4 月 5 日
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])
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!