我正在尝试找到M=perms([1:26])
的排列,但MATLAB的执行速度不能超过perms(1:10)
10阶乘(10!)。你有什么建议吗?
clear M Mn
M=perms([1:10]);
Mn=zeros(factorial(11),11);
for i=11
m1=factorial(i-1);m2=i-1;
for j=1:i
Mn(m1*j-m1+1:m1*j,1:m2+1)=[ones(m1,1)*j,M];
end
M=Mn;
Mn=[Mn,zeros(factorial(i),1);zeros(factorial(i+1)-factorial(i),i+1)];
end