06.08.2013, 12:34
(Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2013 12:38 von derduid.)
Beitrag #1
|
derduid
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Aug 2013
2012
2013
DE
|
geradzahliges Array
Sehr geehrte LV-Gemeinde,
im Anhang befindet sich mein vereinfachtes VI mit dem ich noch ein Problem habe. Ich initialisiere ein 2D-Array in dem sich durch Zufallszahlen immer unterschiedlich viele Zeilen ergeben. Als Ergebnis hätte ich gerne, dass sich immer geradzahlig viele Zeilen ergeben und wenn sie ungerade sind, soll die letzte Zeile am Anfang des Arrays im nächsten Schleifendurchgang angehängt werden (bzw. das neue Array an die Zeile des alten Arrays). In den Spalten stehen immer gleich viele Elemente.
Hat jemand eine Idee, wie ich es löse, wenn ich Fall, dass ich geradzahlige Arrays bekomme, keine Zeile übergeben wird?
Vielen Dank im Voraus.
derduid
geradzahliges Array.vi (Größe: 12,69 KB / Downloads: 181)
|
|
|
06.08.2013, 15:27
Beitrag #2
|
GerdW
______________
Beiträge: 17.483
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: geradzahliges Array
Hallo duid,
deine Beschreibung war etwas konfus, deshalb das hier als Idee:
|
|
|
06.08.2013, 16:35
Beitrag #3
|
derduid
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Aug 2013
2012
2013
DE
|
RE: geradzahliges Array
Hallo GerdW,
erstmal vielen Dank für die schnelle Antwort. Allerdings hilft mir die Idee leider nicht weiter.
Ich bekomme als Eingang meines Sub-VIs ein 2D-Array mit verschieden vielen Zeilen (mit immer gleicher Spaltenanzahl, heißt erste Dimension ist gleich, zweite unterschiedlich) und diese würde ich gerne zu einem Array mit geradzahligen Zeilen "bündeln". Wenn ein 2D-Array am Eingang ungerade ist, sollte die letzte Zeile ausgeschnitten und dem Array im nächsten Schleifendurchgang vorne angehängt werden. Natürlich könnte dieses "neue" 2D-Array (mit der angehängten Zeile des vorrigen Schleifendurchlaufs oder auch nicht angehängt, falls es gerade war) auch wieder ungerade sein. Dann müsste man wieder die letzte Zeile entfernen und dem nächsten 2D-Array vorne angehängen, etc.
Ist das so verständlich?
Beste Grüße
|
|
|
06.08.2013, 17:59
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: geradzahliges Array
Du warst doch schon recht weit. Allerdings hast du in deinem Bsp immer ein Array derselben Größe erzeugt.
Deshalb hier ein Variante mit zufälliger Zeilenanzahl:
geradzahliges Array.vi (Größe: 14,62 KB / Downloads: 177)
Das musst du jetzt noch zu einem FGV-SubVI umbauen, und du bist fertig.
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.
|
|
|
06.08.2013, 18:21
Beitrag #5
|
|
|
07.08.2013, 11:49
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2013 12:08 von derduid.)
Beitrag #6
|
derduid
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Aug 2013
2012
2013
DE
|
RE: geradzahliges Array
Vielen Dank für eure Hilfe!
Ich weiß zwar nicht genau, wie ich ein FGV-SubVI aufbau, aber ich habe es einfach mit einer Rückkopplung realisiert.
Eine Frage habe ich noch:
Kann man ein externes digitales Signal sowohl als Trigger (DAQmx Start Trigger) für analoge Eingänge als auch für den Task, mit dem ich dieses digitale Signal messen will, verwenden?
Beste Grüße
Stefan
|
|
|
07.08.2013, 17:18
Beitrag #7
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: geradzahliges Array
(07.08.2013 11:49 )derduid schrieb: ...
Ich weiß zwar nicht genau, wie ich ein FGV-SubVI aufbau, aber ich habe es einfach mit einer Rückkopplung realisiert.
...
Hallo Stefan,
eine FGV ist eine funktionale globale Variable. Wenn du ein Sub-VI erstellst, das eine While-Schleife enthält, die genau einmal durchläuft und uninitialisierte Schieberegister enthält, dann steht dir der einmal (bzw. zuletzt) in dieses Schieberegister geschriebene Wert bei jedem neuen Aufruf dieses VIs wieder zu Verfügung. Insofern kommt es einer globalen Variable gleich.
Gruß, Marko
|
|
|
07.08.2013, 20:40
Beitrag #8
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: geradzahliges Array
Eine nichtinitialiserte Feedback-Node leistet dasselbe wie eine While-Schleife+Schieberegister, somit hast du instinktiv dein erstes FGV erstellt.
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.
|
|
|
| |