Finding maximum value of y at some x
1 view (last 30 days)
Show older comments
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
0 Comments
Answers (3)
Roger Stafford
on 17 Jun 2016
[~,p] = sort(y,’descend’);
x2 = x(p(1:2)); % <-- x values at first and second maxima of y
0 Comments
KSSV
on 17 Jun 2016
doc findpeaks()..... Check the link for further explanation: http://in.mathworks.com/matlabcentral/answers/44227-finding-local-minimums-maximums-for-a-set-of-data
0 Comments
Andrei Bobrov
on 17 Jun 2016
Edited: Andrei Bobrov
on 17 Jun 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)
0 Comments
See Also
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!