Find min and max value of vector without using built-in function

11 views (last 30 days)
Hello, I know that this question has been already asked many times, however, I kind of struggle to execute it. Max shows correct result, but the not the minimum value. What could be the solution?
A = [9 6 8 3 6 8 2 1 3 9 1 0 2]
maxval = A(1);
minval = 1;
for i = 1:length(A)
if A(i) > maxval
maxval = A(i);
else A(i) < minval
minval = A(i)
end
end

Accepted Answer

dpb
dpb on 19 Sep 2022
Edited: dpb on 19 Sep 2022
...
minval=maxval;
...
if ...
...
elseif A(i) < minval %%% HERE'S YOUR PROBLEM...SEE IT???
...
You missed the "if" part on the "else" clause -- so every thing that wasn't greater than went there and the {A(i) < minval) clause did nothing except display the result of the test to the command line; had no bearing on the logic.
  4 Comments

Sign in to comment.

More Answers (1)

Matt J
Matt J on 19 Sep 2022
%maxval = A(1);
%minval = 1;
maxval = -inf;
minval = +inf;

Categories

Find more on Cell Arrays in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!