单点交叉

时间:2017-06-06 08:11:47

标签: matlab crossover

我有两个数组(矩阵有一行)temp1temp2如下:

temp1=[1 2 3 4 5 6 7 8 9]
temp2=[10 11 12 13 14 15 16 17 18]

我有一个索引pn=3。我需要输出如下:

tempNew=[1 2 3 13 14 15 16 17 18]

即。如何创建tempNew,使得指数最高为pn的所有值都来自temp1而超出索引pn的所有值都来自temp2

1 个答案:

答案 0 :(得分:2)

temp1=[1 2 3 4 5 6 7 8 9]
temp2=[10 11 12 13 14 15 16 17 18]
pn=3;
tempNew = [temp1(1:pn),temp2(pn+1:end)]
tempNew =
     1     2     3    13    14    15    16    17    18

使用pn创建两个临时数组来索引两个tempX数组。然后简单地使用方括号将它们连接起来。

索引始终从MATLAB中的1开始,因此1:pn将为您提供数组的第一个pn值。 end表示数组的结尾,因此pn+1:end将为您提供从索引pn+1到最后一个数组的所有值。