MATLAB Answers

# 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 view (last 30 days)
SSmith on 23 Nov 2019
Edited: Jan on 23 Nov 2019
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?
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Jan on 23 Nov 2019
Edited: Jan on 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
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!