Matlab 排列組合

2022-05-03 07:48:10 字數 1756 閱讀 9270

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的階乘。

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

MATLAB 排列組合問題

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