假设我有这个矩阵
米=
3 1 2 4 6 5
2 3 5 6 1 4
3 4 6 1 2 5
2 1 3 4 5 6
3 2 5 6 1 4
2 4 6 1 5 3
其中有 6 个 raw 和 6 列
我想从原始顺序中随机选择第一个选择将选择第一个
那个原始的元素
因此,如果在覆盖原始 5 中的所有元素后随机出现,我不希望程序出现
再次从中选择
例如,如果随机迭代 1 选择 raw1,它将转到 raw1 中的第一个元素,即
在第 1 列
如果在迭代 2 中随机选择相同的 raw1,它将选择第二个
第 2 列中的 raw1 中的元素
因此,如果我到达 raw1 中的第 6 列,然后迭代再次选择 raw1,但我的
矩阵是 6 列,所以我想随机选择另一个原始数据,直到
第六栏
假设每次选择原始数据时,我都会在该列中创建一个等于
一
所以如果我运行 20 次迭代
杰米=
1 1 1 1 1 0
1 1 0 0 0 0
1 1 1 1 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 0 0
幸运的是,我没有达到任何原始数据的第六列
但如果
杰米=
1 1 1 1 1 0
1 1 1 1 0 0
1 1 0 0 0 0
1 1 1 1 1 1
1 0 0 0 0 0
1 1 0 0 0 0
尝试访问 m(5,7);索引超出范围,因为 size(m)=[6,6]。
如何继续随机选择而不会进入已经充满的原始状态
那个 raw 4 已经满了
我希望它很容易理解
我使用这种方法来创建染色体
形式为
m raw colmun =机器作业操作
谢谢
我正在使用 matlab