display while loop output as an array

how do you display the output of a while loop as an array.
code:
function [] = hailstone_sequence(n)
n = input('Value for n: ');
h = 1;
while(n~=1)
if n==1
return
elseif mod(n,2)
n=3*n +1
else
n=n/2
end
h=h+1;
end

2 个评论

what's your output variable ?
the output should be the values for each iteration in an array, so for 3 the output should be 3 10 5 16 8 4 2 1

请先登录,再进行评论。

 采纳的回答

Just before the h=h+1 insert
output(h) = n;

2 个评论

tried it, works but I am missing the initial value
Then move it to after the while() statement.
But question: does the output need to include the 1? If so then make sure to add a 1 to the end before the return statement.

请先登录,再进行评论。

更多回答(1 个)

function [output] = hailstone_sequence(n)
output=[n];
h = 1;
while(n~=1)
if n==1
return
elseif mod(n,2)
n=3*n +1
else
n=n/2
end
h=h+1;
output= [output n];
end

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by