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) 熟练掌握此方法可以广泛用于各类排序编码的智能算法,避让遗传算法,蚁群算法等,用于解决很多排序问题.

相关推荐
不吃香菜学java7 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
贵沫末8 小时前
python——打包自己的库并安装
开发语言·windows·python
文祐8 小时前
C++类之虚函数表及其内存布局(一个子类继承一个父类)
开发语言·c++
zuowei28898 小时前
华为网络设备配置文件备份与恢复(上传、下载、导出,导入)
开发语言·华为·php
xiaohe079 小时前
超详细 Python 爬虫指南
开发语言·爬虫·python
嗑嗑嗑瓜子的猫9 小时前
Java!它值得!
java·开发语言
xiaoshuaishuai89 小时前
C# GPU算力与管理
开发语言·windows·c#
lsx2024069 小时前
SVN 创建版本库
开发语言
xiaotao1319 小时前
01-编程基础与数学基石:Python错误与异常处理
开发语言·人工智能·python
皮卡蛋炒饭.10 小时前
线程的概念和控制
java·开发语言·jvm