- There is no break out of the forever while loop, so the code will never terminate on its own
- previouspower is never used
- pickangle11 is never used
- The distance calculation doesn't depend on anything in the loop
- pt is not defined anywhere
- x1, x2, y1, y2 are not defined anywhere
- Etc.
How can I find the max value from many max values inside the " WHILE LOOP " ?
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
dpb
2022-7-26
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.
采纳的回答
David Hill
2022-7-26
GlobalMax=-9999;
while true
for
%calculations
end
if maxpower>GlobalMax
GlobalMax=maxpower;
end
end
3 个评论
David Hill
2022-7-26
while true
for
%calculations
end
if maxpower>GlobalMax
GlobalMax=maxpower;
else
break;%break when the maxpower stops increasing?
end
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!