MATLAB: I need help displaying the max value in the while loop.

loopMATLABstring

So I have wrote this code for a while loop/string:
str=input('Enter an integer greater than 1:','s');
num=str2double(str);
cnt=0;
while num>1
cnt=cnt+1;
if mod(num,2)
num=num*3+1;
else
num=num/2;
end
end
s=cnt
It takes any given integer, multiplies it by 3 then adds 1 if it is odd. It divides the number by 2 when it is even. Also "s" represents the number of steps it takes for the loop to reach the end, which is when it reaches '1'. What I am having trouble with is figuring out how to display the max value reached during the loop.
Example, if the user enters "3" the steps would be 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1.
I need the output to be "The max value is 16."
I have tried different codes for "max" such as 'max(num)' and 'max(cnt)' but I cannot figure out how to display the highest value.

Best Answer

str=input('Enter an integer greater than 1:','s');
num=str2double(str);
cnt=0;
maxnum = num;
while num>1
cnt=cnt+1;
if mod(num,2)
num=num*3+1;
else
num=num/2;
end
if num > maxnum; maxnum = num; end
end
s=cnt
maxnum