Finding maximum value of y at some x

1 回表示 (過去 30 日間)
RAJAN PRASAD
RAJAN PRASAD 2016 年 6 月 17 日
編集済み: Andrei Bobrov 2016 年 6 月 17 日
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

回答 (3 件)

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

KSSV
KSSV 2016 年 6 月 17 日

Andrei Bobrov
Andrei Bobrov 2016 年 6 月 17 日
編集済み: Andrei Bobrov 2016 年 6 月 17 日
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)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by