牛骨文教育服务平台(让学习变的简单)
博文笔记

数组元素的乘积

创建时间:2017-03-21 投稿人: 浏览次数:308

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)) ;
}	





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。