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 

Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben



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!

23.02.2012, 13:21
Beitrag #1

123mibu Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2012

2010
2011
DE

93xxx
Deutschland
Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Hallo,

Ich habe ein 1D Array voll mit Werten. Ich will das Array jetzt von vorne durchsuchen und dann den Index wissen, bei dem das erste mal ein Wert größer als ein vorher definierter Wert ist.
Mit der "1D Array durchsuchen" Funktion hab ich schon gespielt, das Problem ist nur, dass ich ja nicht nach einem exakten Wert suchen will sondern nach einer Bedingung z.B. Element > 2. Hat jemand eine Idee, wie ich diese Bedingung einbauen könnte?
Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.02.2012, 13:29 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2012 13:34 von Hook1986.)
Beitrag #2

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben

Akzeptierte Lösung

Hallo,

einfach hingehen und eine For-schleife nehmen. Dort baust du dann dein Array an den Eingang uns lässt die Autoindizierung zu. Dann hingehen und den Wert mit dem Sollwert vergleichen. Nun gehst du noch hin und machst einen Conditional-Stop in deine For-Schleife und machst dort deinen Vergleicher dran. Nun noch den Zählindex i aus deiner For-Schliefe rausgehen lassen et voila.

MfG Carsten

Edit: Hier mal ein kleines Beispiel.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 13:36
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Hallo 123,

du kannst auch
- "Schwellwert (1D-Array)" verwenden
- dein 1D-Array einem ">"-Vergleich unterziehen und das erste gesetzte Bit suchen
- eine Schleife, wie schon beschrieben, verwenden und Einzelwerte testen

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 14:13
Beitrag #4

123mibu Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2012

2010
2011
DE

93xxx
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Danke!
Ich werde es mal mit der For Next Schleife versuchen.
Kann ich mit diesen Indizes rechnen? Ich will nämlich anschließend mit zwei ermittelten Indizes ein Teil Array aus einem anderen 1D Array rauschneiden. Am besten werde ich das mit der "Teil Array" Funktion machen, nur die Länge muss ich ja rechnerisch ermitteln heißt Index2 - Index1 = Länge (Rest). Direkt den Index des letzten Werts des Arrays einzugeben wird nicht gehen?!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 14:28
Beitrag #5

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Hallo 123,

wenn du ein Array hast, welches sortiert ist und dann den Schwellwert nutzt, um den Index zu bekommen, ab dem der Wert überschritten ist und dann alles darauf folgenden Werte haben willst kannst du auch einfach mit dem Baustein "Array Länge" die Gsamtlänge nehmen und mit "Teil Array" bei Index den ermittelten Index und Länge die Arraylänge angeben. Dann bekommst du auf jeden Fall alle Elemente, die nach dem Index kommen. Wenn du jedoch zwei Schwellwerte hast, zwischen denen sich die Werte des Arrays befinden sollen, so musst du die For-Schleife zweimal durchlaufen und die beiden Indizes ermitteln. Dann einfach bei "Teil Array" als Länge = größeren Index - kleineren Index und als Startindex den kleineren Wert benutzen.

MfG Carsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 14:59
Beitrag #6

123mibu Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2012

2010
2011
DE

93xxx
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Danke Carsten, genau so hab ich das geplant. Ich hab jetzt zwei For Schleifen mit denen ich die zwei Indizes ermittel. Anschließend berechne ich die Länge und geh mit Index(klein) und Länge in die Funktion "Teil Array".
Kannst du mir vielleicht auch im Folgenden helfen: Jetzt soll das Teilarray nochmal durchlaufen werden und folgendes geschehen:

IF "Element" > x
ELSEIF "Element" < y
--> Fehlermeldung z.B. LED rot

Quasi ein Toleranzband. Wenn die Werte innerhalb liegen ist alles ok, wenn min einer außerhalb liegt, gibt es eine massive Fehlermeldung Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 15:39
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Hallo 123,

"In Range and Coerce" ist wie geschaffen dafür...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 15:43
Beitrag #8

123mibu Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2012

2010
2011
DE

93xxx
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Ein Traum! Danke Gerd.
Heißt also wieder eine FOR Schleife. Mein Blockdiagramm besteht nur noch aus FOR Schleifen. Naja hauptsache es macht was ich will Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2012, 15:46
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Hallo 123,

Zitat:Heißt also wieder eine FOR Schleife.
InRange&Coerce kann auch mit Arrays umgehen - Polymorphie rules...

Zitat:Mein Blockdiagramm besteht nur noch aus FOR Schleifen.
Häng doch mal dein VI an, dann könnten wir drauf gucken...

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

123mibu Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2012

2010
2011
DE

93xxx
Deutschland
RE: Array nach Überschreitung eines Wertes durchsuchen und Index ausgeben
Zitat:InRange&Coerce kann auch mit Arrays umgehen - Polymorphie rules...
Tatsächlich. Hätte ich mal den ganzen Text lesen sollen.

Zitat:Häng doch mal dein VI an, dann könnten wir drauf gucken...
Sorry das geht leider nicht. Das Programm läuft auf einem Prüfstand und da kann ichs nicht runterziehen. Außerdem denk ich, dass das unters Firmengeheimnis fällt.
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
  Array durchsuchen hulk 16 10.345 29.09.2020 19:47
Letzter Beitrag: hulk
  Werte in Array schreiben- Mittelwert bilden und ausgeben um0k 10 8.623 25.08.2020 14:19
Letzter Beitrag: GerdW
  2d-array durchsuchen Jolle 5 4.802 06.11.2019 15:54
Letzter Beitrag: jg
  Auf Eigenschaften eines Textrings zugreifen, der eine Array-Indexanzeige ersetzt Horst 4 3.978 08.08.2019 08:00
Letzter Beitrag: Horst
  Combobox Eintrag per Index wählen Natalie1984 12 9.237 02.07.2019 22:40
Letzter Beitrag: Natalie1984
  Tabellenstring nach Array 3D hansi9990 0 2.580 07.09.2018 10:33
Letzter Beitrag: hansi9990

Gehe zu: