加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab常用的排列组合函数

(2013-12-29 10:35:52)
标签:

matlab

数学

编程

分类: Matlab编程

nchoosek

Binomial coefficient or all combinations

Syntax:
        C = nchoosek(n,k)

     函数描述:      从 n 个元素中 一次选 k 个元素的所有组合数 C(注意,C是一个数值)。

                          C = n!/((n–k)! k!);

         C = nchoosek(v,k)

      函数描述: 从 向量 v 中 一次选其中 k 个元素 的所有组合 C (注意:C是一个矩阵,列数 为 k )

Description

C = nchoosek(n,k)

where n and k are nonnegative integers,

returns n!/((n–k)! k!).


This is the number of combinations of n things taken k at a time.

C = nchoosek(v,k),

where v is a row vector of length n,

creates a matrix whose rows consist of all possible combinations of the n elements of v taken k at
a time.

Matrix C contains n!/((n–k)! k!) rows and k columns.

Inputs n, k, and v support classes of float double and float single.

Examples:

The command nchoosek(2:2:10,4)

returns the even numbers from two to ten, taken four at a time:     

                                  8
                                 10
                                 10
                                 10
                                 10



combntns

All possible combinations of set of values 从给定集合set中列出所有可能subset个元素的组合

Syntax
     combos = combntns(set,subset)

combos = combntns(set,subset)       returns a matrix whose rows are the various combinations that can be taken of the elements of the vector set of length subset.


Many combinatorial applications can make use of a vector 1:n for the input set to return generalized, indexed combination subsets.

Description

The combntns function provides the combinatorial subsets of a set of numbers.

It is similar to the mathematical expression a choose b, except that instead of the number of such combinations,the actual combinations are returned.

In combinatorial counting, the ordering of the values is not significant.The numerical value of the mathematical statement a choose b is size(combos,1).

Examples

How can the numbers 1 to 5 be taken in sets of three (that is, whatis 5 choose 3)?

combos = combntns(1:5,3)

combos =
                    3
                    4
                    5
                    4
                    5
                    5
                    4
                    5
                    5
                    5
size(combos,1)     % "5 choose 3"

ans =
       10

(注意事项):Note that if a value is repeated in the input vector, each occurrence is treated as independent:

combos = combntns([2 2 5],2)

combos =
              2
              5
              5

RemarksThis is a recursive function.

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有