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迴圈巢狀,又沒有括號.看著...