How do I get this to display the maximum value of an array?

7 views (last 30 days)
I wrote this function:
function max=maxval(x)
a=1;
N=length(x);
for j=x(1:N)
if x(j)>a
a=x(j);
else
a=a;
end
end
max=a;
end
But when I try to use it, nothing happens. It's supposed to find the maximum value in an array but it's just not working. What am I doing wrong?

Answers (2)

Hiro Yoshino
Hiro Yoshino on 16 Jan 2020
You should use the built-in max function:
But if you really wanted it, it would be like this:
function max=maxval(x)
a=x(1);
N=length(x);
for j = 2:N
if x(j) > a
a = x(j);
end
end
max = a;

VBBV
VBBV on 21 Mar 2024 at 7:35
max = maxval(2:100)
ans = 100
function max=maxval(x)
a=1;
N=length(x);
for j=1:N %for loop is not correctly used
if x(j)>a
a=x(j);
else
a=a;
end
end
max=a;
end

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!