如何生成x=[1 0;0 1;1 0;1 0] or [1 0;1 0;0 1;1 0]
这样的染色体。
我需要仅在“当机器在单元格l中时x = 1时才生成染色体,否则当i =机器中没有时为0,而l =单元中没有”。
Matrix就像这个[1 0;0 1;1 0;0 1] when i=4 & l=2.
这意味着1号和3号机器在1号机组中,机器2号和4号机器在2号机组中。
答案 0 :(得分:0)
为什么不使用编码x[1,2,1,2]
而不是x [1,0;0,1;1,0;0,1]
?然后使用randi([1,2],[4,1])
进行初始化。
您的编码有点多余,或者我的问题是错误的吗?
或者你可以这样做:
r = randi([1,2],[4,1]);
x = zeros(4,2);
for idx = 1:size(r,1);
if r(idx) == 1
x(idx,1) = 1;
else
x(idx,2) = 1;
end
end