QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 86944|回复: 0
打印 上一主题 下一主题

MATLAB中常用的排列、组合与阶乘等函数

[复制链接]
字体大小: 正常 放大

13

主题

4

听众

433

积分

升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    跳转到指定楼层
    1#
    发表于 2012-4-15 17:55 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    闲聊之余,整理了几个常用的排列、组合与阶乘等函数。希望对大家有用!
    1、combntns(x,m)
    列举出从n个元素中取出m个元素的组合。
    其中,x是含有n个元素的向量。 combos = combntns(1:5,3)

    combos =

         1     2     3

         1     2     4

         1     2     5

         1     3     4

         1     3     5

         1     4     5

         2     3     4

         2     3     5

         2     4     5

         3     4     5
    复制代码2、perms(x)
    给出向量x的所有排列。 s=perms(2:2:6)

    s =



         6     4     2

         6     2     4

         4     6     2

         4     2     6

         2     4     6

         2     6     4
    复制代码3、nchoosek(n,m)
    从n各元素中取m个元素的所有组合数。
       nchoosek(x,m)
    从向量x中取m个元素的组合 s=nchoosek(2:2:10,4)



    s =



         2     4     6     8

         2     4     6    10

         2     4     8    10

         2     6     8    10

         4     6     8    10
    复制代码4、factorial(n)
    求n的阶乘。 s=factorial(4)



    s =



        24
    复制代码5、prod(n:m)      %求排列数:m*(m-1)*(m-2)*…*(n+1)*n
         prod(1:2:2n-1)或prod(2:2:2n)      %求(2n-1)!!或(2n)!!
         prod(A)   %对矩阵A的各列求积
         prod(A,dim)   %dim=1(默认);dim=2,对矩阵A的各行求积(等价于(prod(A'))') >> M = magic(3)



    M =



         8     1     6

         3     5     7

         4     9     2



    >> prod(M,2)



    ans =



        48

       105

        72



    >> prod(M')'



    ans =



        48

       105

        72
    复制代码6、cumprod(n:m)
    输出一个向量[n n*(n+1) n(n+1)(n+2) … n(n+1)(n+2)…(m-1)m]
    cumprod(A)
    cumprod(A,dim) cumprod(1:5)

    ans =  

         1  2  6  24  120



    A = [1 2 3; 4 5 6];



    cumprod(A)

    ans =

         1     2     3

         4    10    18



    cumprod(A,2)

    ans =

         1     2     6

         4    20   120
    复制代码7、gamma(n)
    求n!
    gamma(n+1) = n! = prod(1:n)
    8、v='n!';
       vpa(v) >> v='5!';

    >> vpa(v)



    ans =



    120.
    复制代码
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-31 19:15 , Processed in 0.336930 second(s), 54 queries .

    回顶部