Meine Aufgabe ist es, Galaxien zusammenzubringen, die aus einer großen Galaxienreihe am nächsten sind. Ich habe die RA, DEC und Z von jedem, und eine Formel, um den Abstand zwischen jedem von den gegebenen Daten auszuarbeiten. Allerdings kann ich keine effiziente Methode der Iteration über die gesamte Liste ausarbeiten, um die Entfernung zwischen JEDER Galaxie und JEDER anderen Galaxie in der Liste zu finden, mit der Absicht, dann jede Galaxie mit ihrem nächsten Nachbarn abzugleichen.Finden Sie den Abstand zwischen den Galaxien in den Daten und erstellen Sie Paare basierend auf dem geringsten Abstand
Die Daten in der folgenden Art und Weise eingeführt worden:
hdulist = fits.open("documents/RADECMASSmatch.fits")
CATAID = data['CATAID_1']
Xpos_DEIMOS_1 = data['Xpos_DEIMOS_1']
z = data['Z_1']
RA = data['RA']
DEC = data['DEC']
Ich habe versucht, so etwas wie:
radiff = []
for i in range(0,n):
for j in range(i+1,n):
radiff.append(abs(RA[i]-RA[j]))
zunächst Unterschied in RA zu trainieren und DEC zwischen jeder Galaxie, die eigentlich tut arbeite, aber ich habe das Gefühl, dass es einen besseren Weg geben muss.
Ein Freund schlug vor, etwas entlang der Linien von:
galaxy_coords = (data['RA'],data['DEC'],data['Z])
separation_matrix = np.zeros((len(galaxy_coords),len(galaxy_coords))
done = []
for i, coords1 in enumerate(galaxy_coords):
for j, coords2 in enumerate(galaxy_coords):
if (j,i) in done:
separation_matrix[i,j] += separation matrix[j,i]
continue
separation = your_formula(coords1, coords2)
separation_matrix[i,j] += separation
done.append((i,j))
Aber ich das nicht wirklich verstehen, so kann es nicht ohne weiteres anwenden. Ich habe es versucht, aber es bringt nichts nützliches.
Jede mögliche Hilfe bei diesem würde sehr geschätzt, dank
Haben Sie untersucht, ob ['astropy.coordinates'] (http://docs.astropy.org/en/stable/coordinates/matchsep.html#tracycle-coordinates-matching) für Sie nützlich ist. Es kann Kataloge zuordnen (obwohl es nicht automatisch Paare für Sie erstellt). Es benutzt scipys kd-Baum unter der Haube. – Evert
Nicht sicher, es hilft mir für diese erste Phase, aber sieht aus wie es sehr hilfreich für die nächste sein wird, wo ich zu einem neuen Koordinatensystem basierend auf der Trennlinie von jedem Galaxiepaar wechseln müssen – enceledus