LabVIEWForum.de - Mit Array vergleichen bzw durchsuchen.

LabVIEWForum.de

Normale Version: Mit Array vergleichen bzw durchsuchen.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey Ihr Leute.
Ich hab ein Array mit 3000 Werten drin und einen einzelnen Wert.
Jetzt hätte ich gern den Index von dem Wert, der meinem einzelnen Wert am nächsten kommt.
Bis jetzt hab ich nur rausgefunden, wie ich den index von einem Wert finde, den ich genau so hab.
Also ich hab 1,234 und irgendwo im Array steht auch 1,234.Das klappt.
Ich hätt aber gern, falls es 1,234 im Array nicht gibt, z.B den Wert 1,235

Habt ihr da ne Idee?
bitte schön ausführlich erklären.Bin neu dabei.
Danke FSG
LV 8.2.1 bitte
gelöscht....
Moin Moin!

Du musst durch das gesamte Array gehen und die geringste Differenz suchen. Also eine For-Schleife, dort (per Autoindexing) die Differenz zwischen dem aktuellen Arraywert und dem Zielwert berechnen und diesen Wert in ein Schieberegister schreiben. Wenn dieser Wert kleiner ist als der letzte Wert (alter Wert des Schieberegisters), wird die aktuelle Differenz in den Schieberegister geschrieben, ansonsten wird die alte Differenz durchgereicht. Analog dazu wird der aktuelle Schleifenindex i in ein zweites Schieberegister geschrieben, wenn die neue Differenz kleiner ist als die bisherige "Referenzdifferenz". Ansonsten wird der alte Wert übernommen. Nach dem Schleifendurchlauf sollte der Wert des Schieberegisters für i den Index beinhalten, der die gerinste Differenz zum Zielwert hat.
(Hoffentlich hab ich grad keinen Denkfehler drin)
' schrieb:Habt ihr da ne Idee?
bitte schön ausführlich erklären.Bin neu dabei.
Oh je, auch noch ausfühlrich erklären, Du verlangst aber viel:
Also: Die für Dein Problem genau maßgeschneiderte Funktion die gibt es und sie heißt "Schwellwert (1D-Array)"
Sie gibt etwas aus, was es eigentlich gar nicht gibt: eine krummwertigen Array-Index.
Siehe Beispiel. Der Wert ist 7, im Array gibt es die Werte 5 (Index2) und 10 (Index 3). Es wird der interpolierte Index 2.4 ausgegeben. Wénn man das an "Index Array" anschließt, wird auf 2 gerundet und der gewünschte Wert 5 ausgegeben.
[attachment=12593]
Luki Du bist mein Held, das ist ja genau das was ich suche.
Das werd ich mir nachher gleich mal anschauen.
Muss dann noch rausfinden, wie das auf englisch heist.
Vielen Vielen Dank!!
Referenz-URLs