How can I graph all the values of n in the while loop ? Theres my program.

n=input('Enter a natural number');
cont=1:1:n;
while n>1
if rem(n,2)==0
n=n/2;
elseif rem(n,2)~=0
n=n*3+1;
end
plot(cont,n,'--rs');
end

Answers (1)

Something like this? Not quite sure what you want your x-axis to be.
n = input('Enter a natural number');
cont=1:1:n;
ii = 0;
while n>1
ii = ii + 1;
if rem(n(ii),2)==0
n(ii+1) = n(ii)/2;
elseif rem(n(ii),2)~=0
n(ii+1) = n(ii)*3+1;
end
end
plot(ii,n,'--rs');

4 Comments

The hold on will give me the points but how do i conect them, in other words i want a single line plot.
Right. Like the one created by the code above?
Or you might want to use
plot(sort(n),zeros(size(n)),'--rs');
% i used hold on and in the plot only appears the points because hold on is used to unite different % plots in one, so i guess that im unable to create a line to connect the points.
n=input('Enter a natural number');
cont=1;
while n>=1
plot(cont,n,'rs','LineWidth',2,'MarkerSize',10);
if n==1
n=1;break
elseif rem(n,2)==0
n=n/2;
elseif rem(n,2)~=0
n=n*3+1;
end
hold on cont=cont+1; end
jonathan, have you checked out/run the code that I posted above?
My second post contains another way of plotting the data you might want to try.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 28 Oct 2016

Commented:

on 28 Oct 2016

Community Treasure Hunt

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

Start Hunting!