Separate numbers present within a cell on multiple rows
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi. I retrieved the first N numbers (largest to smallest) from the second column of the 'CountArray' array.
Now I wanted to determine the corresponding value on the first column of the 'CountArray' array by creating a column vector with these values.
I tried this way but, for example on row 22 and row 23 of cell 'matrix', there are two (equal) values because in 'values_rec' there is the same number (24).
CountArray = importdata("CountArray.mat");
N = 30;
values_rec = maxk(CountArray(:,2),N);
matrix = {};
for K = 1:height(values_rec)
[row,col] = find(CountArray(:,2) == values_rec(K));
value = CountArray(row);
matrix = [matrix;{value}];
end
matrix = cell2mat(matrix);
So I have to transform 'matrix' in this way:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1448387/image.png)
댓글 수: 0
채택된 답변
추가 답변 (1개)
dpb
2023년 8월 2일
whos -file CountArray.mat
load CountArray.mat
N = 30;
[values_rec,ix] = maxk(CountArray(:,2),N);
matrix=CountArray(ix,1);
matrix(19:30)
댓글 수: 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!