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.

 Akzeptierte Antwort

Jonas
Jonas am 16 Jun. 2021

0 Stimmen

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;

Weitere Antworten (0)

Kategorien

Mehr zu Aerospace Blockset finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2018b

Tags

Gefragt:

am 16 Jun. 2021

Kommentiert:

am 17 Jun. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by