我正在尝试在MATLAB中创建一个GA整数群,其中每个个体都是一串随机数1-8
,不重复任何数字。
我知道以下内容会创建一个随机排列的数字1 -8
:
A = randperm(8)
我想知道如何创建一个创建这种群体的函数。
答案 0 :(得分:2)
randperm
used to work与sort
和rand
的关系。我们可以用同样的方式做到这一点,但是有多个列来获得人口:
>> N = 8; % length of random string
>> P = 10; % population
>> [~,AA]=sort(rand(N,P))
AA =
5 6 7 6 1 4 7 8 3 2
8 7 6 5 4 2 4 3 2 3
6 3 1 8 8 5 8 1 5 8
3 4 8 1 7 6 2 7 4 7
4 2 5 4 6 1 1 4 1 4
2 5 2 3 3 8 3 6 6 6
1 1 3 2 2 3 6 5 8 1
7 8 4 7 5 7 5 2 7 5