INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Großes Array richtig handeln



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

19.08.2012, 20:51
Beitrag #1

FirstSoulWinner Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2012

2011
2012
EN


Deutschland
Großes Array richtig handeln
Hallo,

ich bräuchte dringend eure Hilfe in Sachen Datenhandling, da ich einfach nicht darauf komme, wie man es am geschicktesten lösen kann.

Meine Situation ist folgende:
Ich messe mit meiner Apparatur in einem Durchlauf an ~ 300 Positionen. An jeder Position werden wiederum bis zu 16 Proben vermessen. Jede Vermessung einer Probe hat 2048 Werte zur Folge.
Insgesamt gibt es dann noch bis zu 200 Durchläufe. Summa summarum ergäbe dies also ein 200 x 300 x 16 x 2048 Array mit Integern gefüllt. Natürlich macht der Computer/RAM das nicht mit, da das viel zu groß wird (bereits beim Initialisieren des Arrays). Wichtig ist noch zu erwähnen, dass die exakten Dimensionen des hypothetischen Arrys bekannt sind. Es muss also nichts angefügt werden, sondern die Daten können in einem vorinitialisiertem Array ersetzt werden.

Letztendlich werden die Daten auch nach jedem Durchlauf in einer Datei gespeichert, sodass man sich eine Dimension sparen könnte. Jedoch sollten die Ergebnisse auch so geplottet (mit ausgewählter Probe und festem Wert aus dem 2048 Array) werden, dass alle bisherigen Messungen mit angezeigt werden. Von daher muss man die Daten ja irgendwie "mitschleppen".

Wie kann ich diese großen Datensätze in den Griff bekommen? Hatte auch evtl. Cluster angedacht, komme dabei jedoch nicht weiter.

Ich bin da wirklich ratlos und über jeden Tipp hier sehr dankbar!

Tausend Dank!
Johannes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 07:28
Beitrag #2

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Großes Array richtig handeln
Ich würde auch zuerst ans Zwischenspeichern von Daten denken. Dass die Daten zum Plotten zur Verfügung stehen, ist ja kein Hindernis, das Laden der Datei und die Darstellung sollte fix genug von statten gehen, so dass der Nutzer davon nichts mitbekommt. Das ganze am besten noch binär und gezippt, damit du mit dem Festplattenplatz nicht ähnliche Probleme wie mit dem RAM bekommst Wink

Ansonsten hat LabVIEW noch allgemein was zu großen Datensätzen zu sagen, aber ich hab mir das noch nie genau angesehen Blush

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 07:57
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Großes Array richtig handeln
Hallo 1stsoul,

Zitat:Das ganze am besten noch binär und gezippt,
Das "binär" unterstütze ich voll und ganz. Dadurch brauchst du nur Lesezugriffe an leicht zu berechnenden Dateipositionen, um die gewünschten Werte zu lesen. Aber das Zippen sehe ich problematisch, da du dann entweder erst die Datei entzippen musst (auf Festplatte oder ins RAM)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 08:04
Beitrag #4

FirstSoulWinner Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2012

2011
2012
EN


Deutschland
RE: Großes Array richtig handeln
Hallo,

vielen Dank für eure Antworten!
Die Binärdateien würden mir auch entgegen kommen, da ich den Inhalt aller Messungen sowieso in entsprechenden Binärdateien (1 pro Durchlauf und Probe, 300 x 2048 2D Array) speichern wollte.
Ist es denn ohne Probleme möglich, durch Auswahl einer Probe in einer Dropdown Liste alle ensprechenden Dateien zu lesen (z.B. 99 bei der 100 Messung) und die aktuellen Dateien anzeigen zu lassen?

Würdet ihr die Daten dann auch als großes Array 300 x 16 x 2048 durch die Schleife führen, oder das noch zusätzlich aufteilen (ginge ja eigentlich nur nach Proben)?

Vielen Dank!
Johannes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 08:05 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2012 08:10 von Kasi.)
Beitrag #5

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Großes Array richtig handeln
Ich ent-zippe, lese und lösche immer in einem Schritt, Performance-mäßig habe ich da noch keinen Einbruch "gefühlt".
Aber das mit dem Packen war auch nur eine Option, falls es zu Platzproblemen kommen sollte.

--- edit ---

Ich habe noch nie mit solchen großen Arrays gearbeitet, gefühlt würde ich aber sagen, dass ich es erstmal mit einem Array versuchen würde, schon von der Programmübersichtlichkeit und der damit verbundenen Bequemlichkeit her. Sollte das "aus Gründen" nicht funktionieren, kannst du immernoch zu einer Aufteilung wechseln.

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 08:06 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2012 08:09 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Großes Array richtig handeln
Hallo Johannes,

Zitat:Daten dann auch als großes Array 300 x 16 x 2048 durch die Schleife führen
Falls du mit I32 arbeitest, reden wir hier über <40MB Daten. Das kann man noch in einem Schieberegister halten...

@Kasi:
Wohin entpackst du, wenn du das Zippen wegen Platzproblemen durchführst? Die temporäre Kopie (egal ob RAM oder Festplatte) macht die Sache dann nicht besser/einfacher.
Kannst du das mit dem "Entpacken&Lesen&Löschen in einem Schritt" genauer erläutern?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 08:11
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Großes Array richtig handeln
Verwaltung großer Datenmengen und beliebiges Auslesen, da bietet sich einen Datenbank für das Speichern an!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 08:23
Beitrag #8

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Großes Array richtig handeln
(20.08.2012 08:06 )GerdW schrieb:  @Kasi:
Die temporäre Kopie (egal ob RAM oder Festplatte) macht die Sache dann nicht besser/einfacher.
Kannst du das mit dem "Entpacken&Lesen&Löschen in einem Schritt" genauer erläutern?

Ich hatte daran gedacht, alle Dateien für sich zu zippen, nicht alle in ein Zip zu packen.
Dadurch wird zum Öffnen immer nur ein Teil der Daten expandiert.

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 11:10
Beitrag #9

FirstSoulWinner Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2012

2011
2012
EN


Deutschland
RE: Großes Array richtig handeln
Unabhängig davon ob man nun die Dateien nun zippt werden oder nicht, wäre ich über einen Tipp dankbar, wie man am besten die öffnet und die Daten so extrahiert, dass man diese in einem XY mit mehreren Plots darstellen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2012, 11:52
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Großes Array richtig handeln

Akzeptierte Lösung

Hallo Johannes,

die Dateien enthälten Daten mit festem "Raster", d.h. die Werte eines Sensors liegen an genau definierten Positionen in der Datei. Wo genau, hängt davon ab, wie du die Daten abspeicherst.

Bei den Dateioperationen gibt es zwei Funktionen zum Lesen und Setzen der Dateiposition...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Speicher läuft in Statemachine voll (großes Array...) Peter04 5 7.741 30.11.2013 22:42
Letzter Beitrag: D_Sev
  Zahlenwerte aus einem array werden in die Exceltabelle nicht richtig übernommen?! mazell 3 4.506 03.07.2012 08:32
Letzter Beitrag: GerdW
  Großes Labview-Programm von 7.1 nach 2011 FirstSoulWinner 13 10.635 02.05.2012 10:28
Letzter Beitrag: Tschirno
  Geschwindigkeitsproblem: großes array an trigger teilen und sortieren tinger 39 26.020 17.01.2011 14:15
Letzter Beitrag: tinger
  Kleines Array in großes Array umwandeln Ruthenium-Jan 5 5.792 07.09.2010 18:39
Letzter Beitrag: TSC
  Großes Projekt eg 16 13.602 07.08.2008 13:34
Letzter Beitrag: VDB

Gehe zu: