How to find the multiple max values
显示 更早的评论
say like I have this 2D matrix
11 2 3 6
5 6 9 8
9 55 11 12
80 14 15 16
17 97 35 20
21 22 23 27
and I want to find the 4 largest values in column 3. How do I do that? *I did read some of the other posts but I can't seem to find anything conclusive.
采纳的回答
dvals = sort(YourMatrix(:,3), 'descend');
largest4 = dvals(1:4);
8 个评论
great! thanks! but just one more question if you don't mind. How do I get the indices? (i'm sorry if the answer is insanely obvious but i'm kinda sick so my brain isn't functioning really well right now)
[dvals, dindex] = sort(YourMatrix(:,3), 'descend');
largest4 = dvals(1:4);
index_of_largest4 = dindex(1:4);
With respect to the matrix
[11 2 3 6;
5 6 9 8;
9 55 11 12;
80 14 15 16;
17 97 35 20;
21 22 23 27]
how to frame the matrix such that it should display with two maximum values of each column and the other values to be zero.
lets say the output should be in the following manner
[0 0 0 0;
0 0 0 0;
0 55 0 0;
80 0 0 0;
0 97 35 0;
21 0 23 27]
Could you please help me on this.
What should be done if there are duplicate matches? Three all the same, or one max and two copies of second best?
with respect to the matrix
11 2 3 6
5 6 9 8
9 55 11 12
80 14 15 16
17 97 35 20
21 22 23 27
how to find the largest four values in all columns.
Since this old answer has been revived, note that since R2017b you can use maxk which may or may not be faster than sorting the whole array/column. See also topkrows (R2016b or later) which may have been the ultimate goal here.
[largest4, indexoflargest4] = maxk(Yourmatrix(:, 3), 4);
%or
[largest4rows, indices] = topkrows(Yourmatrix, 4, 3);
@Jaah navi, as usual, when wanting to operate on the whole matrix reshape it into a single column with (:).
What should be done if there are duplicate matches? Five all the same, or one max and four copies of second best, or one max and one second best and three copies of the third best, and so on? Your question contains no information about how you want to handle ties.
I found out later that the question was also asked here in more details. Asking the same questions in several places just duplicate efforts and waste people's time. Please don't do that.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Algebra 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
