How do you form a while function using a function file and then using the function file to form a sequence by performing this operation?

1 vue (au cours des 30 derniers jours)
How do you form a while function using a function file and then using the function file to form a sequence by performing this operation?
I have this function:
function[v]=collatz(n)
%remainder is 0 when even number is divided by 2
if rem(n,2)==0
v=n/2;
else
v=3*n+1;
end
end
and I need to use a while function to find out the values for if n starts at n=9 and ends at n=1. How do I do this?

Réponse acceptée

Jan
Jan le 23 Nov 2019
Modifié(e) : Jan le 23 Nov 2019
Change n directly and collect the output in the vector v by inserting it at the index end+1:
function v = collatz(n)
v = n;
while n ~= 1
if rem(n, 2) == 0
n = n / 2;
else
n = 3 * n + 1;
end
v(end + 1) = n;
end
end

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by