1楼:匿名用户
双击matlab软件的快捷键,进入matlab的工作界面
matlab:排列组合问题
2将命令行窗口取消停靠(这样便于输入),按ctrl+shift+u取消停靠:
matlab:排列组合问题
end2.排列组合的函数
perms(x):在程序命令框中输入一个向量x,perms(x) 给出向量x的所有排列。
matlab:排列组合问题
***bntns(x,m):在程序中输入一个向量x与需要的元素个数m,***bntns(x,m)给出了从包含n个元素的向量x中选取m个元素的组合。
matlab:排列组合问题
matlab:排列组合问题
3nchoosek(x,m):在程序中输入一个向量x与需要的元素个数m,nchoosek(x,m)给出了从包含n个元素的向量x中选取m个元素的组合。
matlab 排列组合问题 ,**等~
2楼:匿名用户
这是最容易理解的方法了,虽然复杂点
a =[3 0 1 1 2 3 0;
4 3 6 3 1 6 6;
5 6 3 7 3 2 2];
b=for i1=1:3
for i2=1:3
for i3=1:3
for i4=1:3
for i5=1:3
for i6=1:3
for i7=1:3
b=[b;[a(i1,1) a(i2,2) a(i3,3) a(i4,4) a(i5,5) a(i6,6) a(i7,7)]];
endend
endend
endendend
3楼:匿名用户
依照下面的方法,你可以实验一下。
matlab做排列组合:比如要abcd的全排列,可以用perms函数
perms(['abcd'])运行结果
dcba
dcab
dbca
dbac
dabc
dacb
cdba
cdab
cbda
cbad
cabd
cadb
bcda
bcad
bdca
bdac
badc
bacd
acbd
acdb
abcd
abdc
adbc
adcb
以下是几个常用的排列、组合与阶乘等函数。
1、***bntns(x,m)
列举出从n个元素中取出m个元素的组合。其中,x是含有n个元素的向量。
2、perms(x)
给出向量x的所有排列。
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)
更详细资料如下:
nchoosek
binomial coefficient or all ***binations
syntax:
c = nchoosek(n,k)
函数描述: 从 n 个元素中 一次选 k 个元素的所有组合数 c(注意,c是一个数值)。
c = n!/((n–k)! k!);
c = nchoosek(v,k)
函数描述: 从 向量 v 中 一次选其中 k 个元素 的所有组合 c (注意:c是一个矩阵,列
数 为 k )
matlab排列组合问题
4楼:匿名用户
1、数据都是[n1 n2]这种形式?比如n=10,对应的就是[101 102]?
2、最后这句话【从这些数列中选取4个然后从选取的4个数列中任选一个列出所有的排列组合】不明确,详细说明一下。
求助解决matlab排列组合问题 30
5楼:匿名用户
n=1:210;
k=20;
%数组n中挑k个的组合
n=length(n);
a=zeros(1,k);
i=1;j=1;
while 1
if j<=n
a(i)=j;
if i==k
disp(n(a));%这里只作显示,需要时可以用其它语句替换,比如保存到某个文件
else
i=i+1;
endj=j+1;
else
i=i-1;
if i==0
break;
endj=a(i)+1;
endend
这个程序只要你有足够的时间就可以把所有的组合全部都列出来,但是因为个数太多,一楼已经分析过,要看到全部显示完毕你这辈子是没指望了,厌烦了就ctrl+c终止程序吧。
6楼:小mm爱流氓
10的100次方,阿基米德说这个数字比全宇宙的沙子还多。你怎么不算这个数字呢
7楼:不畏严寒
运行不了,要死机了。
matlab 排列组合问题
8楼:
|%----如果楼主
想获得个数,在结尾加一句内 size(c,1)就好--------------
a = 1:10;
c = nchoosek(a,3); %10 numbers taken 3 at a time
rowindex = ;
%--------find row index of including 1,2 or 3,4 simultaneously-----------
for i=1:size(c,1)
if size(find(c(i,:)==1|容c(i,:)==2),2)==2|size(find(c(i,:)==3|c(i,:)==4),2)==2
rowindex = [rowindex,i];
endend
%--------delete the correspond rows----------------------------
c(rowindex,:)=;
disp(c);
在matlab中怎么输入排列组合 5
9楼:疾风动竹
1、***bntns(x,m)
列举出从n个元素中取出m个元素的组合。其中,x是含有n个元素的向量。
2、perms(x)
给出向量x的所有排列。
matlab穷举排列组合
10楼:兔子和小强
%数据太大,以6个人,分三组为示例:
a='a':'f';
fori=***bnk(a,2)'
t=setdiff(a,i);
forj=***bnk(t,2)'
k=setdiff(t,j);
disp([i'j'k])
endend
%如下是你题目对应的程序
a='a':'u';
fori=***bnk(a,7)'
t=setdiff(a,i);
forj=***bnk(t,7)'
k=setdiff(t,j);
%[i'j'k]为得到的组合情况
endend
matlab排列组合问题,MATLAB中排列组合问题,新手救急!!!谢谢!!!
1楼 匿名用户 1 数据都是 n1 n2 这种形式?比如n 10,对应的就是 101 102 ? 2 最后这句话 从这些数列中选取4个然后从选取的4个数列中任选一个列出所有的排列组合 不明确,详细说明一下。 matlab中排列组合问题,新手救急!!!谢谢!!! 2楼 匿名用户 双击matlab软件的...
急!排列组合问题!哪位大侠救救我啊
1楼 天行者 a不加限制共24种,分别减去四个人在相应位置上的排法4 a 3 3 0 但这中间有多减了的,多减次数如下 1 两个人对号入座,另两个在允许的位置上。 这种情况会在上面减去两次,所以要加回一次,这种情况共c 4 2 6种,因为剩下两个只有一种可允许的选择。 2 三个人对号入座,另一个在允...
求助解决matlab排列组合问题
1楼 匿名用户 n 1 210 k 20 数组n中挑k个的组合 n length n a zeros 1 k i 1 j 1 while 1 if j n a i j if i k disp n a 这里只作显示,需要时可以用其它语句替换,比如保存到某个文件 else i i 1 endj j 1 ...