Сообщество Engee

Конкатенация массивов

Автор
avatar-maximsidorovmaximsidorov
Notebook

Конкатенация массивов в языке Julia

Рассматриваемый пример демонстрирует различные способы объединения массивов в языке программирования Julia.

Введение

Конкатенация массивов используется для объединения двух или более массивов в один. Это может быть полезно при обработке данных, когда необходимо объединить результаты различных вычислений или собрать данные из разных источников. В языке Julia существует несколько способов выполнения этой операции - как с созданием нового массива, так и с изменением существующего.

Основная часть

Вертикальная конкатенация

Создаем два одномерных массива

a = [1,2,3]
b = [4,5,6]
3-element Vector{Int64}:
 4
 5
 6

Объединяем массивы по вертикали (один под другим)

Это можно сделать двумя способами:

Способ 1: используя синтаксис с точкой с запятой

ab = [a;b]
6-element Vector{Int64}:
 1
 2
 3
 4
 5
 6

Способ 2: используя функцию vcat (vertical concatenation)

ab = vcat(a,b)
6-element Vector{Int64}:
 1
 2
 3
 4
 5
 6

Горизонтальная конкатенация

Для горизонтального объединения (рядом друг с другом) используем hcat

ab = hcat(a,b)  # Результат: матрица 3×2
# 1  4
# 2  5
# 3  6
3×2 Matrix{Int64}:
 1  4
 2  5
 3  6

Мутирующая конкатенация (изменение исходного массива)

Функция append! изменяет первый массив, добавляя к нему элементы второго

append!(a,b)  # Теперь a стало [1,2,3,4,5,6]
# При этом оригинальный массив b остается без изменений
6-element Vector{Int64}:
 1
 2
 3
 4
 5
 6

Заключение

В этом примере мы рассмотрели различные методы конкатенации массивов в Julia. Мы научились объединять массивы как по вертикали (vcat), так и по горизонтали (hcat), а также изучили мутирующую операцию append!, которая изменяет исходный массив. Эти методы полезны при работе с данными, когда нужно объединять результаты разных вычислений или собирать информацию из нескольких источников в один массив.

Пример разработан с использованием материалов Rosetta Code