matlab排列組合

2022-03-21 20:17:32 字數 1103 閱讀 6143

matlab做排列組合:比如要abcd的全排列(permutation),可以用perms函式

perms(['abc'])

執行結果

cba

cab

bca

bac

abc

acb>> perms([1 2 3])

ans =

3     2     1

3     1     2

2     3     1

2     1     3

1     2     3

1     3     2

以下是幾個常用的排列、組合與階乘等函式。

1、combntns(x,m)

列舉出從n個元素中取出m個元素的組合。其中,x是含有n個元素的向量。

2、perms(x) 

給出向量x的所有排列 (permutation)。

3、nchoosek(n,m)

從n各元素中取m個元素的所有組合數。  nchoosek(x,m)從向量x中取m個元素的組合

4、factorial(n)

求n的階乘。

5、prod(n:m) 

%求排列數:m*(m-1)*(m-2)*…*(n+1)*n  prod(1:2:2n-1)或prod(2:2:2n)  %求(2n-1)!!或(2n)!!

6、cumprod(n:m)

輸出乙個向量[n n*(n+1) n(n+1)(n+2) … n(n+1)(n+2)…(m-1)m]

7、gamma(n)

求n!

8、v='n!';

vpa(v)

Matlab 排列組合

1 求n的階乘,方法如下 a factorial n b gamma n 1 c v n vpa v 2 求組合 數 方法如下 a combntns x,m 列舉出從n 個元素中取出m 個元素的組合。其中,x是含有n 個元素的向量。b nchoosek n,m 從n各元素中取m 個元素的所有組合數。...

MATLAB 排列組合操作

1 求n的階乘,方法如下 a factorial n b gamma n 1 c v n vpa v 2 求組合 數 方法如下 a combntns x,m 列舉出從n個元素中取出m個元素的組合。其中,x是含有n個元素的向量。b nchoosek n,m 從n各元素中取m個元素的所有組合數。ncho...

MATLAB 排列組合問題

畢設ing,最近每天除了看 就是matlab matlab程式設計強調 vectorization 對矩陣進行操作 畢竟人家名字就叫mat lab,矩陣的實驗室 對於排列組合問題,按照c語言的思路肯定就用for迴圈。但是在matlab裡,for迴圈是不吃香的。乙個乙個for迴圈巢狀,又沒有括號.看著...