gpt4 book ai didi

matlab - 获取矩阵中的前两个最大值

转载 作者:行者123 更新时间:2023-12-02 08:22:04 25 4
gpt4 key购买 nike

我有一个矩阵(n x m)。我想知道,对于每一行,包含前两个最大值的列的索引:

2 3 4 2
2 4 7 1
1 1 2 4
5 5 9 6
1 4 2 1
9 8 1 2

答案应该是:

2 3
2 3
3 4
3 4
2 3
1 2

如何用matlab命令获取它?我不想使用 for 循环。我尝试过:

[x,y]=max(matrix')
y=y';

y 给出最大元素的列索引。现在我将这些元素设置为零并重复说明,但我不知道该怎么做。我三思:

matrix(:,y)=0;

但它不起作用。

最佳答案

如果 A 是您的矩阵,则排序并选择前两个索引,

 [a ix]=sort(A,2)
ans= ix(:,end-1:end)

关于matlab - 获取矩阵中的前两个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com