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
2017 年 11 月 6 日
0 投票
Walter Roberson
2017 年 11 月 6 日
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 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!