99问答网
所有问题
matlab中全排列的问题
比如1、2、3、4中选取3个数的排列有64中结果;1、2、3、4、5中选取4个数有625种结果,选取3个数有125种结果。该用哪个函数?
举报该问题
推荐答案 2009-04-26
perms
产生所有可能的排列
语法
P = perms(v)
P = perms(v),这里v是一个长度为n的行向量,此函数产生v中这n个元素的全排列矩阵,每行为一个排列。矩阵P包含有n!行和n列。
举例
命令perms(2:2:6) 返回数字2、4和6的所有排列:
6 4 2
6 2 4
4 6 2
4 2 6
2 4 6
2 6 4
局限
此函数值只能适用于n < 15的情况下。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/jzWjX7et.html
其他回答
第1个回答 2019-03-31
perms
产生所有可能的排列
语法
P
=
perms(v)
P
=
perms(v),这里v是一个长度为n的行向量,此函数产生v中这n个元素的全排列矩阵,每行为一个排列。矩阵P包含有n!
第2个回答 推荐于2018-03-21
clear;clc
n=4;
m=3;
X=nchoosek(1:n,m);
Y=cell2mat(arrayfun(@(k)perms(X(k,:)),1:nchoosek(n,m),'uniformoutput',0)')
Z=nchoosek(n,m)*prod(1:m)
本回答被网友采纳
相似回答
matlab
全排列
答:
排列的
总个数为n!在指定位置插入代码即可 clc clear n=3;n_1=prod(1:n);allorder_K=zeros(1,n-1);tic for allorder_m=1:n_1 %产生n!个排列 allorder_flag=zeros(1,n);allorder_P=zeros(1,n);for allorder_i=1:n-1 position=n-allorder_K(allorder_i);allorder_j=n;wh...
在matlab中
、如何进行
全排列
答:
a1=find(A(:,1)==0);a2=find(A(:,7)==0);aa=union(a1,a2);A(aa,:)=[];dA=diff(A,1,2);[I,J]=find(dA==0);A(I,:)=[];
如何用
matlab
产生1到n的所有
排列
数
答:
用perms函数就可以,例如求1到4
的全排列
:v=[1,2,3,4];>> f=perms(v)f = 4 3 2 1 4 3 1 2 4 2 3 1 4 2 1 3 4 1 2 3 4 1 3 2 3 4 2 1 3 4 1 2 3 2 ...
matlab
多个长度为3的数组,个数不确定,怎么从每一个数组中取一个数字...
答:
这个不叫
全排列
吧,应该叫全组合。编了个函数给你:function C = allcombs(varargin)n = nargin;if n < 2, error('Insufficient input'); ends = '[x1';for i=2:n s = [s sprintf(',x%i',i)];ends = [s ']=ndgrid(varargin{:});'];eval(s);s = '[x1(:)';for i=2...
matlab
列举从X数组中选出m个元素进行
全排列的
结果
答:
function final_result=perm_comb(x,y)n=[];temp=combnk(x,y);for k=1:size(temp,1)n=[n;perms(temp(k,:))];end final_result = n;调用:final_result=perm_comb([1,2,3,4],2)返回结果:final_result = 4 3 3 4 4 2 2 4 3 2 2 3 4 1 1 4...
如何利用
matlab
把多组向量
排列
组合。
答:
生成
全排列
可以用perms函数,把各向量放在元胞数组中,然后按照全排列来组合即可:M = {[1 2 3]; [4 5 6]; [7 8 9]};I=perms(1:3);C=mat2cell(I,ones(6,1),3);R=cellfun(@(ii)[M{ii}],C,'UniformOutput',false)这样得到
的
结果R是一个元胞数组,其每个元素分别是一个组合...
Matlab
程序设计 任意输入n个不重复的整数序列,输出序列
的全排列
答:
s = input('任意输入n个不重复
的
整数序列(如:12,13,15,1)\n','s');A = str2num(s);m = length(A);id = perms(1:m);R = A(id)任意输入n个不重复的整数序列(如:12,13,15,1)5,12,1 R = 1 12 5 1 5 12 12 1 5 12 5 1 5 12 1 5...
请教高手如何用
MATLAB
编程输出如下矩阵
答:
在MATLAB中
,如何编程生成一个特定的矩阵,这是一个有趣的挑战。给定一个序列矩阵n=[1 2 3 4],我们希望对其进行
全排列
操作,并基于这些排列生成一个特殊的矩阵。具体来说,我们需要使用perms函数来生成n的所有可能排列,然后利用这些排列对一个单位矩阵进行一系列的列替换操作。首先,我们定义一个序列...
matlab
如何对一列数据按顺序进行分组
答:
这个太简单了,直接reshape B = reshape(a,30,55);这样B的每一列都是一组
大家正在搜
matlab中subplot
matlab倒序排列
matlab 排列组合
matlab升序排列
matlab重新排列矩阵
matlab矩阵从大到小排列
matlab矩阵降序排列
matlab升序排列函数
matlab中排序函数
相关问题
matlab 全排列问题
在matlab中、如何进行全排列
matlab的全排列问题
请问matlab分组全排列问题
用matlab 解决M=[-1,-1......,1,1.....
matlab全排列 急!!
matlab 全排列
matlab怎么对矩阵内元素进行全排列?排列后依旧是一个矩阵...