2016-07-20 3 views
1

Ich bin ein bisschen neu und habe mir etwas ganz einfaches zugelegt. Allerdings kann ich den Job nicht erledigen.Tausend Elemente von einer Lichtkurvenscheibe in ein Array umwandeln

Ich arbeite an Lichtkurven für ein Forschungsprodukt und die Daten haben bis zu 10.000 Elemente (manchmal mehr). Mein Professor bat mich, all diese Elemente einfach in ein Array mit n Elementen der Dimension umzuwandeln, so dass beim Drucken der Daten alle 10.000 Elemente nicht geladen werden und wir einfach das Element, das wir wollen, aus dem Array aufrufen können.

Wie gehe ich vor? Fühlen Sie sich frei, nach mehr Klarheit zu fragen!

The data file that I call given my prof's routine called ldsk; it tells me how big the file is.

+1

Sprechen wir über Interface Description Language oder Interactive Data Language? Das erste ist die Assoziation mit dem Tag [tag: idl], während das zweite Tag [tag: idl-programming-language] verwendet. – asynchronos

Antwort

0

Mein Professor mich gebeten, drehen Sie einfach alle diese Elemente in ein Array mit n-Elementen ...

Lassen Sie mich die Variablen verwenden ej für das j-te Element von eine Anordnung. Angenommen, jedes Ihrer ~ 10.000 Werte entsprechen ein anderes Element, ej, dann können Sie das Array erstellen Sie folgendermaßen vorgehen:

array = [e1, e2, e3, e4, ..., eN] 

wobei N = ~ 10.000 und die ... verwendet wurde, um zu vermeiden, tippen 10.000 Begriffe . Macht das mehr Sinn?

Stellen Sie sicher, dass Sie [] in IDL, not() verwenden, um Arrays zu erstellen. Neuere Versionen unter verschiedenen Kompilierungsoptionen können die() für den Aufruf einer Funktion verwechseln.

wir können einfach das Element, das wir wollen, aus dem Array aufrufen.

Einmal erstellt, können Sie den Array-Index und Drucken auf dem Bildschirm mit dem folgenden (vorausgesetzt, dass Sie das j-te Element wollen):

PRINT, array[j] 

wo j eine beliebige Zahl zwischen 1 und N - 1 (da IDL beginnt, von Null ausgehend zu indizieren).

+0

Gibt es eine weniger langweilige Art, 10.000 Elemente einzugeben, um ein neues Array zu benennen? Ich kann mir nicht vorstellen, dass eine Datendatei Hunderttausende von Elementen enthält und ein Array erstellt werden muss, indem jedes einzelne Element aus der Datendatei einzeln eingegeben wird. –

+0

@ s.amir - In welchem ​​Format sind die Daten derzeit? Wie werden die Daten erstellt? Wenn es sich um die Ausgabe einer Funktion handelt, können Sie jedem Aufruf der Funktion die Indizes eines Dummy-Arrays zuweisen. Ich würde mehr Informationen benötigen, bevor Sie Ihre Frage beantworten. –

+0

so sind die Daten bereits gesammelt und befinden sich in einer Datei, die ich aufgrund der Routinen, die der Professor bereits erstellt hat, abrufe: Ich habe nur einen Screenshot davon in meine ursprüngliche Frage geschrieben. Die Daten befinden sich in einer Datei namens Kepler-0.dsk. –

Verwandte Themen