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

 採用された回答

Sean de Wolski
Sean de Wolski 2013 年 10 月 7 日

1 投票

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 件のコメント

Derick
Derick 2013 年 10 月 7 日
Thank you, it was racking my brain why it looked why it would work but didn't.

サインインしてコメントする。

その他の回答 (1 件)

Akshay Kanoria
Akshay Kanoria 2013 年 10 月 7 日

1 投票

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

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2013 年 10 月 7 日

回答済み:

2013 年 10 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by