MATLAB初始化智能算法编码-产生随机不重复整数序列矩阵

产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法:

clc;close all;clear all;warning off;%清除变量

rand('seed', 100);

randn('seed', 100);

format long g;

N=10; % 设定优化问题维数

lb=0*ones(1,N);% 自变量上限

ub=1*ones(1,N);% 自变量下限

popsize=10;% 种群数

Chrom=mygenfun(popsize,N,lb,ub)

function Chrom=mygenfun(popsize,N,lb,ub)

% 建立随机种群

Chrom=zeros(popsize,N);% 初始化编码矩阵

for i=1:popsize% 循环

x=zeros(1,N);% 初始化变量

for j=1:N

x(1,j)=lb(j)+(ub(j)-lb(j))*rand(1,1);% 随机赋值

end

v1,S\]=sort(x);% 排序 Chrom(i,:)=S;% 排序赋值 end 程序运行结果如下: Chrom = 3 2 1 10 5 4 7 8 6 9 2 5 6 1 10 3 7 4 9 8 1 7 8 3 5 9 6 4 2 10 2 7 5 4 10 1 9 8 6 3 9 1 5 6 3 7 2 8 10 4 1 9 8 7 10 4 3 6 2 5 3 8 2 4 1 6 7 5 9 10 1 6 7 3 8 10 5 9 2 4 8 9 5 1 2 3 4 6 10 7 8 10 3 4 7 9 2 6 1 5 \>\> ![](https://file.jishuzhan.net/article/1751189615294812161/d5d6528290a3fe9ff1ff27ab8649006d.webp) 熟练掌握此方法可以广泛用于各类排序编码的智能算法,避让遗传算法,蚁群算法等,用于解决很多排序问题.

相关推荐
MC皮蛋侠客12 分钟前
C++17 多线程系列(二):共享数据与同步——mutex 与 condition_variable
开发语言·c++·多线程
愈努力俞幸运14 分钟前
python 三引号
android·开发语言·python
止语Lab18 分钟前
Go跨平台编译的决策树:从\
开发语言·决策树·golang
Das119 分钟前
【408】C语言标识符
c语言·开发语言
zxd02031123 分钟前
DevOps + CI/CD:从理念到 Jenkins 实战落地
java·开发语言
qq_白羊座24 分钟前
GitLab CI + Jenkins 双流水线模式Jenkins 端实现
java·开发语言
say_fall24 分钟前
8086汇编程序设计_从基础到实战
开发语言·汇编·8086
一条泥憨鱼32 分钟前
深入理解Java反射(超详细)
java·开发语言·spring·mybatis·反射
sycmancia35 分钟前
Qt——Qt中的调色板
开发语言·qt
J-query39 分钟前
修改AndroidStudio的Boot Java Runtime for the IDE后,AndroidStudio启动就报错
java·开发语言·ide·android studio