finding the 10 biggest values in a cell array

I have a cell array 10x10 that consists of of several matrices (1000x1) with integers. I want to find the 10 biggest integers in that cell array and the corresponding column and rows in the cell array and the corresponding row in the matrix.
thanks

답변 (2개)

mizuki
mizuki 2017년 11월 6일

0 개 추천

Use cell2mat and find would be the easiest way. If you do not want to convert the cell array into the double array, use cellfun .
Walter Roberson
Walter Roberson 2017년 11월 6일

0 개 추천

data_matrix = horzcat(YourCellArray{:});
[sorted_matrix, sort_idx] = sort(data_matrix, 'descend');
best_10_vals = sorted_matrix(1:10);
best_10_idx = sort_idx(1:10);
[orig_row_in_cell, cellnum] = ind2sub(size(data_matrix), best_10_idx);
[orig_cell_row, orig_cell_col] = ind2sub(size(YourCellArray), cellnum);
Now,
YourCellMatrix{orig_cell_row{K}, orig_cell_col{K})(orig_row_in_cell(K)) == best_10_vals(K)

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

질문:

AA
2017년 11월 5일

답변:

2017년 11월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by