How to extract all the values from a while loop into a vector
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Agent Cooper
le 28 Avr 2014
Modifié(e) : Andrei Bobrov
le 28 Avr 2014
I have the following function
function c = nice(n)
c = n
while c ~= 1
if rem(c,2) == 0
c = c/2
else c = 3*c+1
end
end
and I am trying to insert all the c values into one vector. Any hints on how can I do it?
0 commentaires
Réponse acceptée
Mischa Kim
le 28 Avr 2014
Modifié(e) : Mischa Kim
le 28 Avr 2014
AC, use something like
function c = nice(n)
ii = 1;
c(ii) = n;
while c(ii) ~= 1
ii = ii + 1;
if rem(c(ii-1),2) == 0
c(ii) = c(ii-1)/2;
else
c(ii) = 3*c(ii-1) + 1;
end
end
end
0 commentaires
Plus de réponses (1)
Andrei Bobrov
le 28 Avr 2014
Modifié(e) : Andrei Bobrov
le 28 Avr 2014
function c = nice(n)
c = n;
jj = 0;
while c(end) ~= 1
if rem(c(end),2) == 0
h = c(end)/2;
else
h = 3*c(end)+1;
end
c = [c;h];
jj = jj + 1;
if jj >= 30, break; end
end
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!