Я пишу код в ОКТАВА(C ++), где у меня есть 2 матрицы, которые я хочу слить вместе. Мне нужно, чтобы значения из первой матрицы пересекались со значениями из второй матрицы. Я изо всех сил пытаюсь объяснить это на словах, так что, надеюсь, мои реальные данные ниже помогут.
matrix_1 = [67.06582, 14.52026, 0.00000, -5.26088, -19.44268, -21.60000]
matrix_2 = [77.79444, -0.00000, -0.61309, -10.46707, -21.60000, -20.30657]
output = [67.06582, 77.79444, 14.52026, -0.00000, 0.00000, -0.61309.......]
Каков наилучший способ сделать это?
Вы можете использовать Octave, чтобы просто объединить два массива по первому измерению (используя cat
), а затем преобразовать результат в вектор строки, используя reshape
, Так как Octave использует упорядочение по главному столбцу, он будет чередовать два вектора в результате
reshape(cat(1, matrix_1, matrix_2), 1, [])
Если вы вместо этого хотите сделать это в C ++, вам нужно предоставить еще немного кода, который даст нам больше информации о структурах данных, которые содержат эти данные.
Других решений пока нет …