Matlab中实现阶乘算法的几种途径.docVIP

Matlab中实现阶乘算法的几种途径.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab中实现阶乘算法的几种途径   摘要:本文简要介绍了Matlab,阐述了阶乘的概念,并给出了阶乘算法在Matlab中的几种实现方案。   关键词:matlab;mex;阶乘;函数   中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)16-21258-02   Several Ways of Achieving Factorial Algorithm in Matlab   XU Hui-yan1,HU Peng2   (1.Huaiyin Teachers College,Huaian 223300,China;2.Huaian college of Information Technology,Huaian 223003,China)   Abstract:The paper introduced Matlab briefly,and illustrated the conception of factorial. It gave us Several Ways of Achieving factorial algorithm in Matlab.   Key words:matlab;mex;factorial;function   1 Matlab简介   Matlab是由美国的Cleve Moler为了学生而用FORTRAN语言编写的关于EISPACK和LINPACK的接口程序,后经他和John Little,Steve Bangert等人一起用C语言进行了完善,并作了进一步开发。Matlab早期是用来进行工程和科学计算的,但随着时代的变迁,自身的不断完善和充实,如今Matlab已发展成为众多行业不可缺少的软件之一,如数理统计、工程计算、图形图像处理、仿真与建模、生物遗传、控制系统设计与分析等领域。但Matlab和其他高级语言相比,程序执行时以解释方式工作,不用编译,源程序读一句,翻译一句,执行一句,输入程序立即显示结果,从而导致程序执行速度降低。为了弥补这一不足,我们可以借助其他语言,进而实现提高程序的运行效率。   2 什么是阶乘   阶乘,又称factorial,它是基斯顿?卡曼(Christian Kramp)发明的运算符号,用“!”表示,指从1一直乘到n的数。表达式如下:   n!=1*2*3*4*……*n其中n∈N   如要求5的阶乘,则可表示为   5!=1*2*3*4*5   结果为120。另规定1!=1,0!=1。   3 阶乘算法实现   3.1 调用Matlab函数   3.1.1 调用factorial函数   Matlab提供了丰富多样的函数库,且用户使用方便,如求阶乘的函数factorial(),假设用户需求20的阶乘,则用户可直接在Matlab命令窗口中输入factorial(20),然后运行,可得ans=2.4329e+018。在这里,factorial(N)为N的阶乘, 是从1到N的所有整数之积, 即prod(1:N) 。当N 是一个N维数组时, factorial(N) 是N 的每个元素的阶乘。因为双精度数字只有约15位,所得结果仅在N = 21时准确。对于更长的N,结果只能精确到前15位。   3.1.2 调用Prod函数   在Matlab中Prod(x)是计算向量x的元素总乘积,而Prod(1:n)是求1……n的总乘积,用它也可实现计算n的阶乘,若需求20!,则可在Matlab命令窗口中输入Prod(1:20),然后运行,同样可得ans=2.4329e+018。   3.1.3 调用Gamma函数   Gamma函数内插factorial 函数,对于整型量 n,有 gamma(n+1) = n! = factorial(n)。同样若需求20!,在Matlab命令窗口中输入gamma(21),然后运行,可得ans=2.4329e+018。   3.2 调用M文件   在Matlab中,除了调用它自身提供的函数,我们也可以自己编写函数。通常,我们将编写好的文件保存为文本文件,后缀为.m,一般称它为M文件。M文件是一个文本文件,可以用各种文本文件对它进行修改,也可以使用MATLAB内建的M文件编辑器。可以通过两种方法执行M文件,一是直接在调试窗口中利用功能菜单的调试命令完成;二是将在“调试窗口”中保存好的M文件的文件名在“命令窗口”中输入,然后执行即可。   以下为求n!的代码:   function y=control(x)   if (x==1) || (x==0)   y=1;   else   y=x*control(x-1);   end   将此程序保存为Contr

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档