using the while loop function

I am new to MATLAB and trying to use a while function and not understanding why there is no error, but keeps the system busy with no result.
function fac=fact(n);
fac=1;
while n>0
fac=fac*n;
n-1;
end

 Risposta accettata

You're close!
Inside the loop you say:
n-1
This just does the computation but does not assign this value back to n. You want:
n = n-1;
Which will reduce the value of n.

1 Commento

Derick
Derick il 7 Ott 2013
Thank you, it was racking my brain why it looked why it would work but didn't.

Accedi per commentare.

Più risposte (1)

Akshay Kanoria
Akshay Kanoria il 7 Ott 2013

1 voto

Hi, Inside the loop you should use n = n-1, it should solve your problem.

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by