Matlab:
prod 数组元素的乘积
1、Syntax
a、B = prod(A) 返回数组A的乘积
如果A是向量,prod(A)返回A向量的乘积。
如果A是非空矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。
如果A是空矩阵,prod(A)返回1。
如果A是多维数组,prod(A)沿着第一个非单例作为向量,返回一个行向量数组。
b、B = prod(A,dim)
沿着指定的dim标量的维计算A矩阵的乘积。注:如果A是一个矩阵,dim=2表示沿行计算,返回一个列向量。
c、B = prod(___,type)
例如:
A = [ 1 4 7
2 5 8
3 6 9]
B = prod(A)
= [6 120 504]
B = prod(A,2)
B = 28
80
162
2、matlab :
a、A = [1:5] ,prod(A)表示求5的阶乘
b、另一种求阶乘方法:
%%%%%子函数%%%%%
function [factorial]=fac(n)
%功能:求n的阶乘
maxno=max(max(n));
zerosi=find(n<=0); %取n小于等于0的数
n(zerosi)=ones(size(zerosi));
factorial=n;
findex=n;
for i=maxno:-1:2
cand=find(findex>2);
candidates=findex(cand);
findex(cand)=candidates-1;
factorial(cand)=factorial(cand).*findex(cand);
end
return;
c、c中求阶乘
double factorial(long n)//
{
if(n < 0)
return(0.0) ;
if(n == 0)
return(1.0) ;
else
return(n * factorial(n-1)) ;
}