Two Same max Values of a Array

14 ビュー (過去 30 日間)
Eren Atar
Eren Atar 2021 年 6 月 16 日
コメント済み: Eren Atar 2021 年 6 月 17 日
I want to find and increase the Value of an Array by 1.
But I also want to look into cases with multiple maximas with the same value.
A = [22 22 17 18 12];
[val,idx]= max(A);
A(idx)= A(idx)+1;
By default it increases the first element of the array. In my case it should select the second one or should increase it randomly if there are multiple maximas.
Any help would be appreciated.

採用された回答

Jonas
Jonas 2021 年 6 月 16 日
get the maximum value and search for entries equal to that value
maxEntriesIdx=find(A==max(A));
if you want to increase one random maximum value you can use e.g.
whichEntry=randi(numel(maxEntriesIdx));
A(maxEntriesIdx(whichEntry))=A(maxEntriesIdx(whichEntry))+1;
  1 件のコメント
Eren Atar
Eren Atar 2021 年 6 月 17 日
Thank you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

タグ

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by