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 

2D Array mit Werten füllen



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!

16.06.2010, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2010 10:23 von jg.)
Beitrag #1

godi Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Mar 2010

9.0
-
de

76648
Deutschland
2D Array mit Werten füllen
Erst Mal ein herzliches Hallo an alleWink2

Das Forum ist sehr hilfreich und ich habe schon viele tolle Ideen und Vorschläge in meinem Programm einbinden können. Doch trotz der Suchfunktion kann ich zu meinem jetztigen Problem irgendwie nichts vernüftiges finden und so habe ich mich entschlossen ein Thread zu erstellen.

Das Picoscope (Oszi) liefert mir Daten und diese sollen von Programm zuerst in ein Array gefüllt und am Ende in tabellenform abgespeichert werden. Das Array ist von Anfang an schon bekannt. Es ist zB. 5000 x 10000 groß. Ich habe das ganze bis jetzt so realisiert.

   

Dies funktioniert zwar aber das Array wird sehr langsam aufgebaut. Wenn ich das Array verkleinere auf 500 x 1000, dann geht das ganze relativ schnell. Man muss bedenken, dass das Picoscope nicht 2D Array auf ein Mal liefert, sondern nach und nach 1D Array mit der Länge der "Number of Samples" ( in dem Fall mit der Länge 10000)

Nun die Frage, kann man das ganze eleganter und besser lösen und wenn ja wie ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.06.2010, 10:25
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
2D Array mit Werten füllen
Offtopic2
Bitte LVF-Regeln lesen und beachten.
Screenshots hier im Forum hochladen und nicht bei externen Image-Hostern...

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
16.06.2010, 11:47
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
2D Array mit Werten füllen
Hallo godi,

da sich kein anderer erbarmt, rate ich mal ins Blaue hinein:
Ich habe bei den "freihängenden" FeedbackNodes (FN) immer noch leichte Verständnisprobleme, was die Initialisierung angeht...
Kann es sein, dass deine FN bei jedem Aufruf aufs Neue initialisiert wird, wofür Speicher und Zeit benötigt wird?
Könntest du das komplette VI anhängen (evtl. DAQ-Aufruf durch dummy-FOR-loop ersetzen)?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:10
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
2D Array mit Werten füllen
' schrieb:Kann es sein, dass deine FN bei jedem Aufruf aufs Neue initialisiert wird, wofür Speicher und Zeit benötigt wird?
Wäre das nicht ein völlig unsinniges Verhalten?

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:24
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
2D Array mit Werten füllen
@Dimitri,

"Wäre das nicht ein völlig unsinniges Verhalten?"
Eben.
Im Bild oben sehe ich: bei jedem Aufruf wird ein Array initialisiert (400MB!, falls DBL verwendet wird). Mit diesem Array wird die FN initialisiert, augenscheinlich auch bei jedem Aufruf ("...leichte Verständnisprobleme..."). Beide Aktionen halte ich für unsinnig...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:31 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2010 12:32 von dimitri84.)
Beitrag #6

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
2D Array mit Werten füllen
' schrieb:Im Bild oben sehe ich: bei jedem Aufruf wird ein Array initialisiert (400MB!, falls DBL verwendet wird).
Achsooo, ja ein Array wird jedes Mal initialisiert.

Zitat:Mit diesem Array wird die FN initialisiert, augenscheinlich auch bei jedem Aufruf ("...leichte Verständnisprobleme..."). Beide Aktionen halte ich für unsinnig...
Dass die FN jedes Mal neu initialisiert wird, was auch immer dabei geschieht - ich hab davon keine Ahnung, glaube ich nicht. Da wird es wohl einen internen First-Run-Flag geben.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.06.2010, 12:32 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2010 12:44 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2D Array mit Werten füllen
Bei so großen Datenmengen und wenn die Daten von einem Oszilloskop mit vielleicht nur 8 bit kommen. lohnt es sich auch mal über andere Datenformate als DBL nachzudenken. Das Mindeste wäre die Umstellung auf SGL.

Zur Initialisierung: Der Initialisierungsanschluß wird, wenn er sich in einer Schleife befindet, genau so nur einmal initialisiert, als wenn er sich bei einem Schieberegister außerhalb der Schleife befinden würde. Allgemein muß man sich den Initialisierungsanschluß so vorstellen, daß er nur dann aktiv ist, wenn ein unmittelbar daneben platziertes VI "erster Aufruf" den Ausgangswert true liefern würde. Diese Test könnte man ja leicht machen - wenn es ein VI gäbe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:50
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
2D Array mit Werten füllen
Das Anzeigeelement verbraucht 100% der Leistung. Das Ersetzen der Daten selbst bei 5000 Reihen dauert gerademal 300ms. Solange dauert es alleine einmal das Anzeigeelement zu refreshen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2010 13:57 von jg.)
Beitrag #9

godi Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Mar 2010

9.0
-
de

76648
Deutschland
2D Array mit Werten füllen
Ich habe Mal schnell ein Programm gebastelt, wie es bei mir zZ realisiert ist. Anstelle des Picoscopes habe ich einfach Zufallszahlen genommen. Ich hoffe ihr könnt mir jetzt weiter helfen. Tippen

Edit: Warten (ms) könnt ihr natürlich rausnehmen, habe es für mich nur schnell eingebaut um es besser zu sehen.

Lv09_img2


Angehängte Datei(en)
Sonstige .vi  2D_Array.vi (Größe: 10,27 KB / Downloads: 660)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 17.06.2010 07:36 von dimitri84.)
Beitrag #10

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
2D Array mit Werten füllen
' schrieb:..., wenn ein unmittelbar daneben platziertes VI "erster Aufruf" den Ausgangswert true liefern würde.
[*Korinthenkacker on*]
Da wäre ich mir nicht so sicher. Das VI "erster Aufruf" gibt wirklich nur einmal ein True pro "Applikationsstart mit dem Pfeil" aus - auch, wenn sich dieses VI z.B. in einem subVI befindet und das BD immer wieder aufgerufen wird. Eine FN oder ein SR kann in einem subVI öfter als nur einmal initialiesiert werden, nämlich bei jedem subVI-Aufruf.
[/*Korinthenkacker off*]

Mir gefällt dieses kleine runde Ding einfach nicht ...

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen 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
  Array leeren und erneut füllen TTT 2 4.029 24.05.2018 09:15
Letzter Beitrag: TTT
  Faltung mit Filterkernel -> Ränder nicht mit Nullen füllen thz89 2 3.473 06.10.2017 13:09
Letzter Beitrag: thz89
Question stetige Manipulation von Array-Werten 0-100% Ressless 3 2.881 08.09.2017 14:17
Letzter Beitrag: Ressless
  Mehrspaltiges Listenfeld mit "Elementwerte indexweise festlegen" füllen C.Maier 3 4.457 12.01.2017 15:09
Letzter Beitrag: C.Maier
  Array andersherum füllen mundb 4 6.548 15.04.2016 08:24
Letzter Beitrag: mundb
  Array mit bestimmter Anzahl an Werten Svenson 2 3.378 23.02.2016 16:49
Letzter Beitrag: jg

Gehe zu: