如何将数据的最高值与向量的最后一个值相比移位
V = [2 5 7 1 99 99 5 22]
对于此示例,结果为:8 - 6 = 2
; 8 = size(V)
max(V) = 99
,但V(5)=99
和V(6)=99
。
max(5,6)=6
和8 - 6 = 2
我可以像这样重新设计我的问题:如何找到一个向量的最大值的索引,如果有多次相同的最大值,我想找到最大的索引
答案 0 :(得分:2)
获取最大值的索引:
V = rand(1,10);
[~,max_idx] = max(V);
如果V
中有多个相同的“最大值”,这将为您提供第一个。因此,对于您的情况,您只需要反转向量V
以获取最后一个(最大的索引)。
[~,max_idx] = max(fliplr(V));
我希望我能正确理解你的问题。
答案 1 :(得分:1)
您可以使用find
获取最大值的最后一个索引:
ind = numel(V) - find(V == max(V), 1, 'last')