- 在线时间
- 57 小时
- 最后登录
- 2013-10-20
- 注册时间
- 2012-3-19
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 1080 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 433
- 相册
- 0
- 日志
- 0
- 记录
- 7
- 帖子
- 196
- 主题
- 13
- 精华
- 0
- 分享
- 82
- 好友
- 20
升级   44.33% TA的每日心情 | 开心 2013-10-20 20:29 |
---|
签到天数: 103 天 [LV.6]常住居民II
- 自我介绍
- 建模编程方向
 群组: 学术交流A |
闲聊之余,整理了几个常用的排列、组合与阶乘等函数。希望对大家有用!
1、combntns(x,m)
列举出从n个元素中取出m个元素的组合。
其中,x是含有n个元素的向量。 combos = combntns(1:5,3)
combos =
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
复制代码2、perms(x)
给出向量x的所有排列。 s=perms(2:2:6)
s =
6 4 2
6 2 4
4 6 2
4 2 6
2 4 6
2 6 4
复制代码3、nchoosek(n,m)
从n各元素中取m个元素的所有组合数。
nchoosek(x,m)
从向量x中取m个元素的组合 s=nchoosek(2:2:10,4)
s =
2 4 6 8
2 4 6 10
2 4 8 10
2 6 8 10
4 6 8 10
复制代码4、factorial(n)
求n的阶乘。 s=factorial(4)
s =
24
复制代码5、prod(n:m) %求排列数:m*(m-1)*(m-2)*…*(n+1)*n
prod(1:2:2n-1)或prod(2:2:2n) %求(2n-1)!!或(2n)!!
prod(A) %对矩阵A的各列求积
prod(A,dim) %dim=1(默认);dim=2,对矩阵A的各行求积(等价于(prod(A'))') >> M = magic(3)
M =
8 1 6
3 5 7
4 9 2
>> prod(M,2)
ans =
48
105
72
>> prod(M')'
ans =
48
105
72
复制代码6、cumprod(n:m)
输出一个向量[n n*(n+1) n(n+1)(n+2) … n(n+1)(n+2)…(m-1)m]
cumprod(A)
cumprod(A,dim) cumprod(1:5)
ans =
1 2 6 24 120
A = [1 2 3; 4 5 6];
cumprod(A)
ans =
1 2 3
4 10 18
cumprod(A,2)
ans =
1 2 6
4 20 120
复制代码7、gamma(n)
求n!
gamma(n+1) = n! = prod(1:n)
8、v='n!';
vpa(v) >> v='5!';
>> vpa(v)
ans =
120.
复制代码
|
zan
|