MATLAB 排列組合操作

2021-10-09 19:10:15 字數 891 閱讀 9436

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個元素的所有組合數。

nchoosek(x,m) 從向量x中取m個元素的組合

3、求排列(數),方法如下:

a、perms(x)         給出向量x的所有排列。

b、prod(n:m) 求排列數:m*(m-1)*(m-2)*…*(n+1)*n

prod(1:2:2n-1) 求(2n-1)!!

prod(2:2:2n) 求(2n)!!

prod(a) 對矩陣a的各列求積

prod(a,dim) dim=1(預設);dim=2,對矩陣a的各行求積(等價於(prod(a'))')

4、函式 cumprod() ----累積求積函式:

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

cumprod(a) 若a為矩陣:輸出同維數的矩陣,按列累積求積

cumprod(a,dim) a為矩陣,dim=1或2,dim=1,預設,與上面一樣;dim=2,按行累積求積。

5、factorial(n) 求n的階乘。

eof

matlab排列組合

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 以下是幾個常用的排列 組...

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 排列組合問題

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