How to partition a matrix by sorting a column?
4 ビュー (過去 30 日間)
古いコメントを表示
Dear friends:
I want to parttion a matrix into two submatrix by sorting the third column:
For example, the matrix is as follows:
A= [ 73.90 123.17 1.00;
73.79 121.83 0.00;
70.64 74.46 1.00;
69.74 86.40 0.00]
I need the output as:
A1= [ 73.90 123.17 1.00;
70.64 74.46 1.00]
and
A2= [ 73.79 121.83 0.00;
69.74 86.40 0.00]
Thank you very much.
0 件のコメント
採用された回答
Walter Roberson
2024 年 2 月 24 日
A= [ 73.90 123.17 1.00;
73.79 121.83 0.00;
70.64 74.46 1.00;
69.74 86.40 0.00]
u = unique(A(:,3));
A1 = A(A(:,3)==u(2),:)
A2 = A(A(:,3)==u(1),:)
その他の回答 (1 件)
Voss
2024 年 2 月 24 日
A= [ 73.90 123.17 1.00;
73.79 121.83 0.00;
70.64 74.46 1.00;
69.74 86.40 0.00]
C = splitapply(@(x){x},A,findgroups(A(:,end)));
Cell array C contains the matrices you want, A1 and A2
C{:}
so you don't need to make them separate new variables, but you can
A1 = C{2}
A2 = C{1}
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Shifting and Sorting Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!