05.11.2019, 11:38
Beitrag #1
|
JK87
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Jul 2019
LabView 2018
-
DE
|
X-Wert zu Maximal Wert aus Array
Hallo Community,
Hier kurz eine kleine Frage. Ich habe ein 2D-Array mit Messwerten und den dazugehörigen X-Werten. Das Maximum hole ich mir über die Max-/Min-Funktion und lasse mir auch den Index (an dem sich das Maximum befindet) ausgeben. Hinter diesem Index versteckt sich ein X-Wert, weil ich Mäanderförmig eine Probe abfahre. Was ich jetzt verzweifelt suche ist die Möglichkeit an das Maximum zurück zufahren. Dafür benötige ich aber den X-Wert den ich nicht aus dem Array bekomme. Habt ihr eine Idee wie ich den X-Wert hinter dem Index wert bekomme? Ich wollte es über die Funktion Array indizieren machen, aber wenn ich jetzt eine Verbindung zwischen Max-Index und Index Eingang von Array indizieren ziehen möchte kommt eine Unterbrochene Verbindung.
Schonmal Danke im Vorraus.
Viele Grüße
Jens
|
|
|
05.11.2019, 11:43
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2019 11:43 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: X-Wert zu Maximal Wert aus Array
Hallo Jens,
du hast also ein Problem mit deinem VI.
Und wir sollen dir dabei helfen.
Aber das VI zeigst du uns nicht!? (Bitte für LV2017.)
|
|
|
05.11.2019, 13:15
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2019 13:16 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: X-Wert zu Maximal Wert aus Array
Hallo Jens,
Zitat:Wie bereits gesagt messe ich zu jedem X-Wert eine Amplitude. Jetzt habe ich mir die Maximale Amplitude aus geben lassen und weiß durch den Max. Index eigentlich auch bei welchem X-Wert er sich befindet. Jedoch habe ich den X-Wert nur indirekt über den Index.
X = Index * Schrittweite…
Ich würde die Daten gleich in der "richtigen" Reihenfolge speichern, d.h. mit steigenden X-Werten.
Ich würde auch gleich alle "Spektrum"-Daten in ein 2D-Array packen und die zugehörigen X-Werte überhaupt nicht ablegen - die sind ja durch den Arrayindex bekannt. Dann hast du nur ein Array mit allen Spktrum-Werten und kannst das globale Maximum ziemlich einfach bestimmen. (Das wird erst anders, wenn man statt X-Sollwerten die angefahrenen X-Istwerte speichern will/muss: einfach ein zweites 2D-Array, welches die angefahrenen Positionen speichert.)
Ich würde auch schauen, dass ich keinen duplizierten Code habe für "Hin" und "Her"-Fahren: es ändern sich doch nur Startwert und das Vorzeichen der Schrittweite…
Drei ineinander geschachtelte While-Loops sind auch "unüblich": Dank Start-/End-Wert und Schrittweite kennst du doch die Anzahl der Iterationen im Voraus und könntest FOR-Loops benutzen…
|
|
|
06.11.2019, 08:43
Beitrag #5
|
|
|
06.11.2019, 13:30
(Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2019 13:51 von GerdW.)
Beitrag #7
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: X-Wert zu Maximal Wert aus Array
Hallo Jens,
hast du mal die Maus auf den "broken wire" bewegt und dann die Kontexthilfe gelesen?
Bei einem 2D-Array bekommst du ein 1D-Array mit der Index-Angabe des Maximums. Du kannst aber ein 1D-Array nicht als Index-Input für IndexArray verwenden…
Eigentlich interessiert dich doch nur die X-Komponente dieses Indexes: verwende nur diesen!
Vorschläge:
|
|
|
07.11.2019, 09:01
Beitrag #8
|
|
|
07.11.2019, 09:14
Beitrag #9
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: X-Wert zu Maximal Wert aus Array
Hallo Jens,
Zitat:Das einzige Problem ist jetzt noch das er die X Strecke zweimal abfährt bevor er Y um eins erhöht. Aber das Probleme löse ich noch irgendwie.
Für die X-Werte erzeuge ich eine Rampe von 0 bis 10, und hänge daran die umgekehrte Rampe noch einmal dran: also hin- und zurückfahren. Wenn du das "zurückfahren" nicht brauchst, musst du nur die X-Rampe vereinfachen…
Zitat:Wo für mir aber einfach keine Lösung einfallen will, ist das Problem mit der Y-Koordinate des Amp.Max Gesamt Wertes. Ich habe irgendwie überlegt den schleifenzähler zu nehmen. Weil eigentlich ist der in der Kombination mit der Schtiiwetie ja auch eine Koordinate. aber so richtig fällt mir nichts ein. Habt ihr eventuell eine Lösung für das Problem?
Du bestimmst aus dem resultierenden Amplituden-2D-Array doch den Maximalwert der Amplitude. Und du bekommst dort auch den Index des Maximalwertes, sowohl row als auch column. Was genau brauchst du noch zusätzlich?
|
|
|
07.11.2019, 10:26
|
JK87
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Jul 2019
LabView 2018
-
DE
|
RE: X-Wert zu Maximal Wert aus Array
Hallo Gerd,
wieder mal vielen Dank für deinen Input. Hab es jetzt durch deinen Hinweis geschafft auch die Y-Koordinate zu ermitteln.
Das mit der Rampe ist eigentlich auch perfekt, ich will jetzt bloß nochmal gucken ob ich es schaffe wenn er zurückfährt, vorher die Y-Koordinate zu erhhöhen.
Vielen Dank,
Viele Grüße
Jens
|
|
|
| |