How can I find the max value from many max values inside the " WHILE LOOP " ?

5 views (last 30 days)
if we run the code below we will get the maxpower in each round of "for loop" means the for loop starts from -28.64 up to +28.64 which means
20 steps. Now, the maxpower is obtained from each round (20 steps of the for loop). My question is how can I find the maximum value from many maxpower values inside while loop ?
Thanks in advance
Angleoption11 = [-28.6479 -27.5 -18.33 -13.75 -11 -9.16 -7.85 -6.87 -6.11 -5.5 5.5 6.11 6.87 7.85 9.16 11 13.75 18.33 27.5 28.6479];
while true
previouspower = currentpower;
for current_index1 = 1:numel(Angleoption11)
pickangle11 = Angleoption11(current_index1);
distance = sqrt((x1-x2.').^2 + (y1-y2.').^2)
currentpower=pt*distance
end
[maxpower, index]=max(currentpower);
end
  4 Comments
dpb
dpb on 26 Jul 2022
Save the max you find each iteration in another array -- when the outer iteration is complete, then use max on that array.
Or, you can compare the new maximum to the previous each time and save the greater on each pass -- to do this you also must have a GlobalMax value that starts of first iteration holding the maximum; for subsequent does the comparison first.
omar th
omar th on 26 Jul 2022
" Or, you can compare the new maximum to the previous each time and save the greater on each pass -- to do this you also must have a GlobalMax value that starts of first iteration holding the maximum; for subsequent does the comparison first."
thank you so much for your reply, actually this is what I want GlobalMax, so would you explain it more ?

Sign in to comment.

Accepted Answer

David Hill
David Hill on 26 Jul 2022
GlobalMax=-9999;
while true
for
%calculations
end
if maxpower>GlobalMax
GlobalMax=maxpower;
end
end
  3 Comments
David Hill
David Hill on 26 Jul 2022
while true
for
%calculations
end
if maxpower>GlobalMax
GlobalMax=maxpower;
else
break;%break when the maxpower stops increasing?
end
end
omar th
omar th on 26 Jul 2022
Let's say by using for loop 20 values will be calculated again for loop will produce 20 values and so on. Here I want to compare the the max value from the the first 20 value and max value from the second 20 value and so on. let say for loop will work for 5 times. Now I have 5 max values how can I choose one max value from these 5 max values and consider the selected max value as Global max

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!