Find the last position of maximum value in a Matrix
Afficher commentaires plus anciens
Hello, I try to find the position and the value of a maximum in a Matrix (or in a vektor). There are several positions for the maximas and the function [C,I] = max(...) just return the first, but I need the last position. exists a method to find the last maximum?
Réponse acceptée
Plus de réponses (2)
Azzi Abdelmalek
le 27 Nov 2013
x=[1 2 3 0 3];
[ii,jj]=max(fliplr(x));
idx=numel(x)-jj+1
Bradley Stiritz
le 31 Jan 2021
@Wayne, is your solution vulnerable to rounding error, with floating-point input? In general, might it not be safer to use something like the following--?
epsilon = 0.0001;
I = find(abs(x-maxval)<epsilon,1,'last');
@Azzi, very clever solution but is it not hard-coded for row vectors? In order to handle column vectors as well, shouldn't the 2nd line be something like the following--?
[ii,jj]=max(fliplr(x(:)'));
Catégories
En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!