Finding maximum value of y at some x

1 vue (au cours des 30 derniers jours)
RAJAN PRASAD
RAJAN PRASAD le 17 Juin 2016
Modifié(e) : Andrei Bobrov le 17 Juin 2016
I have a vector y=[6 8 10 9 11 31] x=[1 2 3 4 5 6] how to find at what x the first maximum value of y occured and the second maxima

Réponses (3)

Roger Stafford
Roger Stafford le 17 Juin 2016
[~,p] = sort(y,descend);
x2 = x(p(1:2)); % <-- x values at first and second maxima of y

KSSV
KSSV le 17 Juin 2016

Andrei Bobrov
Andrei Bobrov le 17 Juin 2016
Modifié(e) : Andrei Bobrov le 17 Juin 2016
y=[6 8 11 10 31 9 11 31]
x=[3 9 4 1 23 3 2 7]
[a,~,c] = unique(y);
ii = accumarray(c(:),(1:numel(c))',[],@(x){x});
idx = ii([end,end-1]);
out = cellfun(@(a)x(a),idx,'un',0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by