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 

Interpolation



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.07.2007, 10:48
Beitrag #1

Mr.Beaker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Mar 2007

7.1
2007
kA


Deutschland
Interpolation
Hey LabVIEWer,

Bin grad dabei ein Programm zu schreiben, das mir jeweils 2 Werte interpoliert und das in 3 facher Auführung. Jetzt hab ich aber irgendwie einen Knoten im Kopf und komm nicht drauf wie ich das realisieren soll.

Problem: (Fall: Mathematisch) Ich habe einen 1D Array, der meiner x-Achse entspricht, und selbiges für die y-Achse. Das ganze spannt eine 2D matrix auf, in der ich die Werte willkürlich setzen darf. Jetzt kommen die Eingangssignale, wobei die 1D-Arrays durchsucht werden auf einen kleineren und größeren Index, da die Eingangssignale ja nicht unbedingt den Stützstellen entsprechen müssen. Jetzt soll das ganze interpoliert werden mit Hilfe der Stützstellen aus den Arrays. Wie könnte ich das denn realisieren?
Oder hab ich da jetzt grundsätzlich ein Verständnisproblem? Meine Lösung samt VI (V.7.2) poste ich gleich mal mit, da kann man dann auch den zweiten rechenansatz sehen, bei dem ich das Problem mit einem Algorithmus gelöst hab (sollte richtig sein) (Fall: IC-Spec).
Hoffe das war einigermaßen verständlich. Mellow
Bei Unklarheiten bitte einfach Fragen.

(Die Werte, die im Frontpanel stehen hab ich manuell eingegeben und können zur Funktionsprüfung beliebig gewählt werden)

Gruß
Georg

PS: Die zwei case-structures sind nur für mich nebeneinander, damit ich die beiden Fälle simulatn vergleichen kann. Darum auch oben und unten die gleiche Werte.


Angehängte Datei(en) Thumbnail(s)
       

Sonstige .vi  EPPROM_Interpolation_Version_1.10.vi (Größe: 240,78 KB / Downloads: 270)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 13:08
Beitrag #2

Mr.Beaker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Mar 2007

7.1
2007
kA


Deutschland
Interpolation
Habs geschafft!

Sollte interesse bestehen kann ich meine Lösung ja posten.

Nichts desto trotz, dieses Forum is immer eine InspirationTippen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 14:20 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2007 14:37 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Interpolation
Ja, das ist nicht schwer. Mit dem VI "Schwellwert", mit angeschlossenem X-Array, findet man einen krummen Indexwert, der dem Eingangswert x entspricht, und geht damit in das VI "Interpolieren" hinein, an dem das Y - Array angeschlossen sind, und findet den zugehörigen Wert y.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 14:38
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Interpolation
Lade doch die Lösung mal hoch. Rolleyes

Gruß Markus

' schrieb:Habs geschafft!

Sollte interesse bestehen kann ich meine Lösung ja posten.

Nichts desto trotz, dieses Forum is immer eine InspirationTippen

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 06:41 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 12:12 von Mr.Beaker.)
Beitrag #5

Mr.Beaker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Mar 2007

7.1
2007
kA


Deutschland
Interpolation
@Lucki, Irgendwie hab ich noch nicht so die Erfahrung, dass ich solche vorgefertigte Beispiele finde Dry
Hab jetzt heut auch nochmal den halben Tag mit Fehlersuche verbracht, dürfte es aber hinbekommen haben.

Aber hier mal meine Lösung samt SubVI:

Für (konstruktive) Kritik, Anregungen, Wünsche bin ich jederzeit dankbar!

Gruß
Georg

PS: Wenn man das Frontpanel und die Werte betrachtet, dann erkennt man genau einen der wenigen Fälle, bei dem Logarithmus und Mathematischer Ansatz um 1 abweichen. Ich vermute das ist eine Ungenauigkeit beim Algorithmus, kanns aber nicht 100%ig sagen.


Angehängte Datei(en) Thumbnail(s)
       

Sonstige .vi  EPPROM_Interpolation_Version_1.11.vi (Größe: 231,92 KB / Downloads: 206)

Sonstige .vi  Interpolation_Algorithm_Version_3.vi (Größe: 74,22 KB / Downloads: 244)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 07:18 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 07:32 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Interpolation
' schrieb:Aber hier mal meine Lösung:
???

Du irrst, es handelt sich hier nicht um "vorgefertigte Beispiele", sondern um normale Array-Funktionen, die allerdings maßgeschneidert zu dem Problem passen.

Mein Vorschlag beinhaltet aber nur eine primitive lineare Interpolation zwischen benachbarten x- und y Werten. (Bedingung: die x-Werte müssen monoton aufsteigen). Die Funktionen findet man unter Arrays. Ich weiß nicht, ob Dir das genügt. Ansonsten könnte man mittels Spline-Interpolation die Sache noch verfeinern.
Wenn nicht, dann schicke doch mal typische Datenpunkte, am besten schon als XY-Graph.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.07.2007, 08:32 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 09:10 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Interpolation
Sehe gerade, daß mein Beispiel nicht passt. Das hast ja eine Funktion z(x,y) bzw. die Stützstellen davon. Ich nahm aber an, es handele sich sich nur um eine Funktion y(x).
Dein VI läuft nicht, es fehlen Sub.VIs (Die sind wahrscheinlich für das Problem nicht relevant, aber warum bereitest Du dann nicht selbst ein abgespecktes VI auf und mutest diese Arbeit denen zu, die Dir helfen wollen).
Für die Eprom-Inhalte fehlt die "Typ-Definition"
Außerdem fehlen darin die Werte. Damit diese gespeichert bleiben, hättest Du mit der rechten Maustaste "Datenoperationen/aktuellen Wert als Standard" klicken sollen.

Die Interpolation von z(x,y) würde etwas so aussehen:
   


Angehängte Datei(en)
Sonstige .vi  Matrixinterpolation.vi (Größe: 12,59 KB / Downloads: 244)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 12:10 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 12:31 von Mr.Beaker.)
Beitrag #8

Mr.Beaker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Mar 2007

7.1
2007
kA


Deutschland
Interpolation
Meine Lösung is 2 Beiträge weiter oben, da ich heut um 7 Uhr morgens den beitrag editieren wollte, aber noch den ganzen Tag dran rumgebastelt hab.

@Lucki, die Interpolation hab ich jetzt auch gefunden, vielleicht schreib ich damit noch einen dritten Lösungsansatz. Aber danke für den Hinweis!

PS: Irgendwo is in deinem VI der Wurm drin, Lucki. Bereits im gültignn Bereich, Zahlenwerte über oder unter dem Array hab ich noch gar nicht beachtet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 12:38 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 12:49 von Mr.Beaker.)
Beitrag #9

Mr.Beaker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Mar 2007

7.1
2007
kA


Deutschland
Interpolation
Die "For-Loop" versteh ich nicht ganz, für was brauchst du die denn? Es erhöht sich doch nichts und es wird auch nichts ins Shift-Register übergeben?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2007, 13:17 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2007 18:07 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Interpolation
' schrieb:Die "For-Loop" versteh ich nicht ganz, für was brauchst du die denn? Es erhöht sich doch nichts und es wird auch nichts ins Shift-Register übergeben?
Es wird wir ein Array berechnet und übergeben, das kann man doch gar nicht übersehen, oder ist das für Dich nichts?
Ich schließe dieses Array mal an eine Anzeige an, und nenne es "Array":
   
Beispiel: T=3, Q=3.
Im ersten Schritt wird für Q=3 das Array berechnet. Wäre Q=2, dann wäre das Array identisch mit der ersten Spalte der Matrix. Bei Q=3 sind es alle interpolierten Werte der Matrix zwischen erster und zweiter Spalte. (Es wird also eine zusätzliche Spalte der Matrix berechnet (interpoliert) , die für den Wert Q=3 maßgeschneidert ist)
Wenn man dieses Array hat, dann muß man nur noch in diesem Array für T=3 Interpolieren.

Habe mir Dein VI angeschaut und lauffähig gemacht. Der Wert "Output-Digital-Value" ist offenbar richtig, wenn man von Rundungsfehlern wegen Ganzzahl-Benutzung absieht. Der Gehirnschmalz, den Du da reingesteckt hat, ist aber ganz enorm, und das kann man sich durch clevere Verwendung der richtigen Funktionen wirklich ersparen.
Damit Du selbst mal vergleichen kannst, Hier Dein VI so wie ich es benutzt habe.

   

Habe jetzt keine Zeit, das auf 7.1 runterzustufen.. ---------------> Jetzt ja


Angehängte Datei(en)
Sonstige .vi  EPPROM_Interpolation_Version_1.11.V71.vi (Größe: 126,59 KB / Downloads: 192)

Sonstige .vi  EPPROM_Interpolation_Version_1.11.V8.vi (Größe: 76,34 KB / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2D Interpolation LabViewPete 3 4.149 18.08.2015 15:40
Letzter Beitrag: GerdW
  Spline Interpolation LabViewPete 1 3.739 18.08.2015 11:21
Letzter Beitrag: GerdW
  Kennlinie Abfahren mittels Linearer Interpolation David_Lab 15 13.241 24.02.2014 12:18
Letzter Beitrag: jg
  2D-Interpolation Achim 20 18.111 19.02.2014 10:05
Letzter Beitrag: Achim
Sad 2d Scattered Interpolation mufifinA 3 4.143 30.11.2012 09:09
Letzter Beitrag: GerdW
  Interpolation 1d einfache Werte Maxens 5 6.982 14.10.2011 08:03
Letzter Beitrag: GerdW

Gehe zu: