У меня есть два списка в Mathematica:
list1 = {{a1, b1, c1}, ... , {an, bn, cn}}
и
list2 = {{d1, e1, f1}, ... , {dn, en, fn}}
списки содержат числовые результаты и примерно состоят из 50000 триплетов каждый. Каждый триплет представляет две координаты и числовое значение некоторого свойства в этих координатах. Каждый список имеет разную длину и координаты не совсем одинаковы. Я намерен сопоставить числовые значения третьего свойства из каждого списка, поэтому мне нужно просмотреть списки и определить свойства, координаты которых совпадают. Мой вывод будет что-то вроде
list3 = {{ci, fj}, ... , {cl, fm}}
, где
{ai, bi}, ..., {al, bl}
будет (примерно) равно соответственно
{dj, ej}, ..., {dm, em}
Под "грубо говоря" я подразумеваю, что координаты будут совпадать один раз с округлением до некоторой желаемой точности:
list1(2) = Round[{#[[1]], #[[2]], #[[3]]}, {1000, 500, 0.1}] & /@ list1(2)
поэтому после этого процесса у меня есть два списка, которые содержат некоторые совпадающие координаты среди них. У меня вопрос, как выполнить операцию по их идентификации и выбору пары свойств оптимальным образом?
Пример списка из 6 элементов:
list1 = {{-1.16371*10^6, 548315., 14903.}, {-1.16371*10^6, 548322., 14903.9},
{-1.16371*10^6, 548330., 14904.2}, {-1.16371*10^6, 548337., 14904.8},
{-1.16371*10^6, 548345., 14905.5}, {-1.16371*10^6, 548352., 14911.5}}