Filter löschen
Filter löschen

Locating global max in 3D plot

3 Ansichten (letzte 30 Tage)
John Paul
John Paul am 22 Jan. 2021
Kommentiert: Star Strider am 23 Jan. 2021
I'm working on some MATLAB code but I have encountered a problem that has hindered my progress.
Kindly would you assist me on how I may locate a global maxima value in a case where I have more than one maximas in a 3D plot.
I'm using this
Idx = find((Pmusic(:) == max(max(Pmusic(:)))));
[PmusicmaxRow,PmusicmaxCol] = ind2sub(size(Pmusic), Idx);
but it brings all the maximas but I am only interested with the indices of the global maxima.

Akzeptierte Antwort

Star Strider
Star Strider am 22 Jan. 2021
Try this:
[maxval,Idx] = max(Pmusic(:));
[PmusicmaxRow,PmusicmaxCol] = ind2sub(size(Pmusic), Idx);
I obviously cannot test this with your matrix, however it worked correctrly when I tested it with my test matrix.
  4 Kommentare
John Paul
John Paul am 23 Jan. 2021
Respected Sir, You are absolutely correct. This section of the code is supposed to genereate indices for the global maximas for 10 iterations and that is the reason ‘aaa’ and ‘ccc’ are (1x10) vectors. Thank you so much for your invalauble advice. You have made me move a step further with my work.
Star Strider
Star Strider am 23 Jan. 2021
As always, my pleasure!
I am always happy to help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by