MATLAB中排列组合问题,新手救急谢谢

2021-01-02 20:48:14 字数 4124 阅读 8510

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 ...