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 

X-Wert zu Maximal Wert aus Array



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!

05.11.2019, 11:38
Beitrag #1

JK87 Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.11.2019, 11:43 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2019 11:43 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
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.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2019, 12:59
Beitrag #3

JK87 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2019

LabView 2018
-
DE



RE: X-Wert zu Maximal Wert aus Array
Hallo Gerd,

ja das habe ich erstmal nicht angehängt, weil ich prinzipiell kein Problem mit dem Vi hab, sondern eine Funktion suche. Aber du hast natürlich recht, so lässt sich bestimmt leichter eine Lösung finden. Kurz zu dem VI. Im Prinzip realisiere ich damit ein Mäanderförmiges abrastern einer Probe. Es wird in einer gewählten X-Schrittweite hoch gezählt und bei jedem Hochzählen das Sub-Vi für die Messwerterfassung ausgeführt und gemessen. Das gleiche in der Schleife fürs Runterzählen. Über die Definition eines Wertebreiches gucke ich ob ich mich noch auf meiner Probe befinde. Ist der Tisch bis an die Ober- bzw. Untergrenze gefahren, wird der Y-Wert um die Schrittweite erhöht. Der Tisch fährt dann wieder nur in X-Richtung. So weit so gut zu dem Mäander. 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. Ich brauche ihn jedoch direkt. Ziel ist es nämlich das Globale Maximum der ganzen Probe (also Y bis an die Obergenze) zu ermitteln. Nachdem erfolgreichen Abrastern soll er an die Position des globalen Maximums zurückfahren. Daher benötige ich sogar die X bzw. Y-Werte. Habt ihr eine Lösung wie ich an die X bzw Y-Werte komme?
Ich habe mal das Vi angehängt, wobei euch leider zum testen natürlich die Messwerterfassung fehlt.


Viele Grüße

Jens


Angehängte Datei(en)
17.0 .vi  Mäanderfunktion+Messwerte_Nur Test.vi (Größe: 15,05 KB / Downloads: 226)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2019, 13:15 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2019 13:16 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
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…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2019, 08:43
Beitrag #5

MaxP Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 88
Registriert seit: Oct 2016

LV Prof. SSP
-
DE_EN


Deutschland
RE: X-Wert zu Maximal Wert aus Array
Hallo Jens,

wie Gerd schon angemerkt hat, lässt sich dein Programm deutlich schöner und einfacher aufbauen.
Dein Problem mit dem X-Wert liegt im 2D Array, die Min/Max Funktion gibt dir dort ein Array mit den Koordinaten für das Maximum aus.

Die einfachste Lösung ist, Min/Max vor dem Zusammenfügen von X-Wert und Amplitude zu suchen. Ansonsten fügst du etwas zusammen um es später wieder zu trennen -> Macht keinen Sinn.
Habe dir mal ein VI wo der Fehler aufgezeigt wird und auch mit der Lösung angehängt.

Gruß Max


Angehängte Datei(en)
17.0 .vi  Maximum von Amplitude.vi (Größe: 9,83 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2019, 13:22
Beitrag #6

JK87 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2019

LabView 2018
-
DE



RE: X-Wert zu Maximal Wert aus Array
Hallo,

Vielen Dank für eure Antworten. Ich habe sie umgesetzt und eine neue version des Programms hochgeladen. Das mit dem Max/Min Funktioniert jetzt gut. Aber nun habe ich das Problem, dass es jedes mal ein neues Maxima gibt wenn die innere For-Schleife abgelaufen wird. Danach wird dann über eine Weitere For-Schleife der Y-Wert erhöht und wieder die Innere Schleife abgespielt. Jetzt stecke ich an dem Punkt fest, dass ich gerne das Maximum des ganzen Mäanders haben möchte. Sprich wenn Y auch seine Obergrenze erreicht. Die Amplitude habe ich schon mal, einfach durch das Herrausführen der Max-Funktion. Dann wolte ich das gleich machen wie bei dem Vorschlag von Max. Da kommt dann jedoch wieder ein fehler (siehe Bild). Daraufhin habe ich den Vorschlag von Gerd ausprobiert und den Index mit der Schrittweite multipliziert, aber das stimmt nicht. Habe nämlich jeden Maximal Wert in eine Tabelle eingetragen zum kontrollieren. Hab Ihr eine Lösung, wie ich den X-Wert des globalen Maximas erhalte und wie ich dazu noch den Y-Wert kriege?

Vielen Dank für eure Hilfe

grüße
Jens


Angehängte Datei(en) Thumbnail(s)
   

17.0 .vi  Mäanderfunktion+Messwerte_Nur Test_ver2.vi (Größe: 12,45 KB / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2019, 13:30 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2019 13:51 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
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:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2019, 09:01
Beitrag #8

JK87 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jul 2019

LabView 2018
-
DE



RE: X-Wert zu Maximal Wert aus Array
Hallo Gerd,
Vielen Vielen Dank für den Input. Auch die Rampe-Funktion ist ziemlich genial. Die habe ich gleich mit eingbaut und deine Vorchläge berücksichtigt. Anbei ist das aktuelleste VI. 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. 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?


Viele Grüße

Jens


Angehängte Datei(en)
17.0 .vi  Mäander+Messwerterfassung.vi (Größe: 11,66 KB / Downloads: 207)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2019, 09:14
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
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?

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

JK87 Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Wert aus Interpolationspolynom benm1982 3 2.935 24.04.2020 15:28
Letzter Beitrag: BNT
  Maximalwerte in Matrix erkennen und mit zugehörigem neuen Wert überspeichern MartinNewBee 16 9.080 08.02.2018 16:31
Letzter Beitrag: MartinNewBee
  Bestimmten wert aus Tabelle suchen und Zeile anzeigen Appa 12 16.763 29.11.2017 13:47
Letzter Beitrag: Kahlua
  1D-Array: Wert aus Zeile auslesen und weiterverarbeiten LV-hft-1 4 7.374 07.05.2015 11:38
Letzter Beitrag: LV-hft-1
  Wert formatieren [Format Value] YYYs 2 4.281 05.02.2013 08:39
Letzter Beitrag: Andora
  Wert in txt-Datei suchen und Zeilen ausgeben Schmidtzke 7 8.532 21.06.2012 09:18
Letzter Beitrag: M Nussbaumer

Gehe zu: