编M文件计算自然数n的阶乘.MATLAB

问题描述:

编M文件计算自然数n的阶乘.MATLAB

如果n不是很大,直接使用
prod(1:n)即可。
例如
>> x=1:20;
>> prod(x)
ans =
2.43290200817664e+018
如果用factorial函数也一样
>> factorial(20)
ans =
2.43290200817664e+018
n如果n在170以上,则超过浮点数表示范围了,结果为Inf

function r=F(n)
if n==0|n==1
r=1;
else
r=n*F(n-1);
end
F=r;

function result = fa(N)
result = 1;
for i = 1:N
result = result * i;
end
上述N不可太大,否则超过范围
Matlab中带有factorial函数球阶乘