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

相关推荐
踏着七彩祥云的小丑1 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid2 小时前
Python12(网络编程)
开发语言·网络·php
W23035765732 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090012 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳2 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...3 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102163 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
wjs20245 小时前
JavaScript 语句
开发语言
cmpxr_6 小时前
【C】局部变量和全局变量及同名情况
c语言·开发语言