感悟网 导航

MATLAB中的阶乘函数是什么?

作者&投稿:尾光 (若有异议请与网页底部的电邮联系)
~

MATLAB中的阶乘函数是factorial()。在MATLAB中该函数运用规则是这样的:

语法

f = factorial(n)

说明

f = factorial(n) 返回所有小于或等于 n 的正整数的乘积,其中 n 为非负整数值。如果 n 为数组,则 f 包含 n 的每个值的阶乘。f 与 n 具有相同的数据类型和大小。

n 的阶乘通常使用感叹号字符以数学表示法写为 n!。

示例

1)整数阶乘,

>>f = factorial(10)  %10!

2)数组元素的阶乘

>>n = [0 1 2; 3 4 5];
>>f = factorial(n)

3)无符号整数值的阶乘

>>n = uint64([5 10 15 20]);
>>f = factorial(n)



matlab中的阶乘函数是factorial,其函数形式为:factorial(N) 。

1、当N为向量时,计算从1到N这N个数的乘积,即相当于prod(1:N)。

2、当N是N维数组时,计算N中每个元素的阶乘。


注意:由于在matlab中双精度浮点数的整数位数大约是15位,只有对不大于21的整数计算结果是精确的,对大于21的整数,factorial的计算结果只有前15位是准确的。

拓展资料

1、Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

2、新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

3、使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。



《matlab阶乘》
答:factorial(1) % 1!factorial(2) % 2!factorial(3) % 3!n=10 factorial(n) % n!...n=10;y=1;for i=1:1:n;y=y*i;end;y % n!

《用MATLAB画 y=x!(阶乘)的图像》
答:使用函数factorial X=[1:10];plot(X,factorial(X))

《matlab 函数求解N阶乘》
答:function k=my_fact(n)用递归求N的阶乘。if nargin~=1 error('wrong input.');end if nargout>1 error('wrong output.');end if abs(n-floor(n))>eps|| n<0 error('n 应该为非负整数');end if n>1 k=n*my_fact(n-1);elseif any([0 1]==n)k=1;end 你的函数没有输出值...

《用matlab解答》
答:用matlab寻找,有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。1、建立自定义的阶乘函数 function y=exfun(x)x0=1;for m=1:x x0=x0*m;end y=x0;end 2、用三个循环查找,某个三位数的3个数字阶乘之和正好等于它本身。a=1:9;b=0:9;c=0:9;for i=1:length(a)for j=...

《自定义函数求一个数的阶乘,调用该函数求自然数对数的底e ,e=1+1/1...》
答:private function jc(n as integer) as long jc = 1 for i = 1 to n jc=jc*i next i end function private sub command1_click()dim e as double,eps as double,n as integer eps=1 n=0 e=0 do while eps>10^(-4)e=e+1/jc(n)n=n+1 eps=1/jc(n)loop print e end sub...

《我要拟合Gamma分布函数,但是程序老是提醒错误,运行不出结果,请高手指点...》
答:你的程序里面出现的两处 (a-1)! 是问题所在。Matlab里不用!代表阶乘。阶乘有专门的函数:y=factorial(N),要求N为非负整数 所以你把源程序改成:function nonlinefit clc;clear;t=[1.25 1.75 2.25 2.75 3.25];y=[18.51 17.35 13.29 9.42 5.66];beta=nlinfit(t,y,@myfunc,[1...

《用matlab编写阶乘函数,调用该函数生成1!,……10!的阶乘表》
答:for i=1:10 A(i,:)=[i fac(i)]end 其中 fac(n)为求阶乘的函数保存在fac.m文件中

《利用matlab计算含有阶乘的求和运算问题》
答:1、未见到你贴出的错误。2、函数factorial用数值方法计算阶乘,不适用于符号变量。用sym('(k+1)!')代替factorial(k+1)。3、无法求出显式的E,不能直接绘图,应该用double进行转换。4、不同的符号运算内核可能得到的结果有差别。以我用的6.5版(Maple内核)和2008b(MuPad内核)为例,有以下两点...

《用matlab编写程序(没积分了,希望大家帮帮忙)》
答:是的话,下面的程序就对了 <1>第一种方法。A=ones(1,20);for k=1:19 A(k+1)=(k+1)*A(k);end disp(sum(A));结果是:2.5613e+018 <2>第二种方法 A=ones(1,20);for i=1:20 A(i)=factorial(i);end disp(sum(A));其中,factorial 是直接求阶乘的MATLAB内部函数。

《伽马函数不算负二分之一吗?》
答:伽马函数(1/2)的值可以根据余元公式算出,余元公式的定义是对0-1之间的数,有:将1/2代入得到伽玛函数(1/2)的值是Π^(1/2)。函数应用:函数在Matlab中的应用,其表示N在N-1到0范围内的整数阶乘。公式为:gamma(N)=(N-1)*(N-2)*...*2*1。例如:gamma(6)=5*4*3*2*1,ans=...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网