Парное сравнение внутри массива в Юлии - PullRequest
0 голосов
/ 14 мая 2018

Предположим, у нас есть 6-элементный массив в Юлии, например, Int64[1,1,2,3,3,4].Если мы хотим сравнить два массива поэлементно, мы знаем, что можем использовать ". ==";но моя цель состоит в том, чтобы выполнить все парные сравнения внутри вышеуказанного массива: если элементы (i, j) каждой пары равны, я устанавливаю значение 1 (или true), но если они отличаются, я устанавливаю значение 0Все парные сравнения хранятся в матрице 6х6.Можно ли сделать это в Юлии без цикла для?Спасибо.

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете использовать тот факт, что трансляция будет сравнивать строки со столбцами, чтобы просто сделать сравнение между массивом и его транспонированием:

julia> A = [1,1,2,3,3,4]
6-element Array{Int64,1}:
 1
 1
 2
 3
 3
 4

julia> A .== A'
6×6 BitArray{2}:
  true   true  false  false  false  false
  true   true  false  false  false  false
 false  false   true  false  false  false
 false  false  false   true   true  false
 false  false  false   true   true  false
 false  false  false  false  false   true
...