全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5662 6
2015-07-23
Matlab中怎么求例如1到50中取4个数的全部排列(以矩阵形式显式)。因为本人只查到perms这个能以矩阵形式显式全排列。希望得到专家的帮助。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-7-24 17:50:00
>> prod(50:-1:47)
ans =
     5527200
>> prod(47:50)
ans =
     5527200
>>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-25 12:11:58
enxizheng 发表于 2015-7-24 17:50
>> prod(50:-1:47)
ans =
     5527200
谢谢你的帮助,但是我的本意是以矩阵形式把排列数显式出来,而不是求排列的个数。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-25 16:26:58
tjxxukai 发表于 2015-7-25 12:11
谢谢你的帮助,但是我的本意是以矩阵形式把排列数显式出来,而不是求排列的个数。
x=combntns(1:50,4);
y=zeros(5527200,4);
for n=1:size(x,1)
    y((24*(n-1)+1):(24*n),:)=perms(x(n,:));
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-26 16:47:08
enxizheng 发表于 2015-7-25 16:26
x=combntns(1:50,4);
y=zeros(5527200,4);
for n=1:size(x,1)
谢谢帮助,有用。但你使用了循环(如果x是很长的向量这个程序效率应该很低),能不能进一步请教你:Matlab中有没有类似于perms函数直接显示排列(不是全排列,因为perms似乎只能求显示全排列)。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-26 18:57:35
tjxxukai 发表于 2015-7-26 16:47
谢谢帮助,有用。但你使用了循环(如果x是很长的向量这个程序效率应该很低),能不能进一步请教你:Matla ...
我也不知道啦。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群