Funktion aus 2 Arrays bilden und ableiten - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Funktion aus 2 Arrays bilden und ableiten (/Thread-Funktion-aus-2-Arrays-bilden-und-ableiten) |
Funktion aus 2 Arrays bilden und ableiten - Otee - 07.07.2021 14:36 Hallo zusammen, kurz Zusammengefasst:
Ich habe 2 Arrays die jeweils meine Punkte auf der X- und Y-Achse darstellen. Diese Arrays haben exakt die selbe Größe und die Punkte können anhand ihres Index zueinander zugeordent werden. Aus dieser "Punktewolke" möchte ich jetzt eine Näherungsfunktion bilden, die den Verlauf der Funktion beschreibt. Diese Funktion möchte ich dann Ableiten, um damit den Anfang der Kurve der Funktion herausfiltern zu können. Die blauen Datenpunkte die aus den beiden Arrays in einem XY-Diagramm entstehen sieht man auf dem ersten beigefügtem Bild. Die Rote Linie wäre die Kurve die ich gerne hätte und die gelben Stellen sind die Stellen die ich durch die Ableitungen herausfiltern möchte. Ich möchte also bei meinen Datenpunkten die Stelle herausfinden, bei der die Kurve anfängt. Auf dem 2. Verlaufsbild sieht man wie ich mir diese Methode vorstelle. Die blaue Linie ist meine Funktion aus den Daten. Die Schwarze Linie ist die Ableitung von dieser. Die Wendestellen der Ableitung sollten somit meine gesuchten gelben punkte der Ursprungsfunktion sein. Ich möchte also quasi herausfinden wo meine Funktion bzw. Kurve anfängt. Ich habe ein kleines VI () beigefügt, dass 2 Arrays mit einer ähnlichen Struktur erstellt. RE: Funktion aus 2 Arrays bilden und ableiten - GerdW - 07.07.2021 15:50 Hallo Otee, herzlich willkommen im Forum! Zitat:ch habe ein kleines VI beigefügt, dass 2 Arrays mit einer ähnlichen Struktur erstellt.Dafür ein Danke! Aber: das hast du maximal kompliziert gelöst: ein einzelnes VI verpackt in einer LLB - und die wiederum in einem RAR-Archiv verpackt! Warum nicht einfach das VI anhängen??? (Und wenn schon ein Archiv, dann bitte auch ZIP! RAR ist proprietäre Software, die nicht jeder zur Verfügung hat. ZIP dagegen kann selbst von einem nackten Windows geöffnet werden!) Und das VI selbst ist dann auch hochgradig Rube-Goldberg… Um mal eine Idee zu geben: [attachment=62017] Wenn du eine Punktewolke mit einer Funktion interpolieren willst, dann solltest du vielleicht eine Interpolations-Funktion verwenden!? Die numerische Ableitung ist übrigens typischerweise definiert als dy/dx: meinst du nicht auch, dass man das mit einer kleinen Schleife selbst berechnen könnte? (Wenn man denn die fertige Funktion dafür nicht findet…) RE: Funktion aus 2 Arrays bilden und ableiten - Otee - 08.07.2021 08:09 Hallo Gerd, vielen Dank für deine Antwort, das mit der .rar Datei habe ich echt total kompliziert gelöst sorry dafür . Das VI habe ich gestern schnell zusammengebastelt um ein Beispiel zu schaffen, ich muss dazu sagen ich habe leider noch nicht allzu viel Erfahrungen mit LabView machen können. Vielen Dank für deine Idee, ich habe mir schon gedacht, dass ich das Interpolieren VI brauche, jedoch habe ich es trotz LabView Hilfe nicht zum laufen bekommen, mit deinem Beispiel sollte das jetzt aber hoffentlich klappen. Ich weiß das diese Dinge für dich vielleicht sehr trivial erscheinen, jedoch bin ich neu in der Software und an manchen Stellen noch etwas hilflos . Wie kann ich denn eine noch genauere Annäherung machen? Das 1D Interpolieren VI kriege ich leider nicht so hin, dass es mir einen sinnvollen Verlauf anzeigt...? RE: Funktion aus 2 Arrays bilden und ableiten - GerdW - 08.07.2021 09:33 Hallo Otee, Zitat:Wie kann ich denn eine noch genauere Annäherung machen?Definiere "genauer"! Du könntest eine höhere Polynomordnung wählen - das hat aber so seine Tücken. Oder du gehst mit entsprechendem Vorwissen über die zu interpolierenden Daten heran und verwendest eine der anderen Interpolationsmethoden, wie z.B. NonlinearCurveFit auf LM-Basis! Zitat:Das 1D Interpolieren VI kriege ich leider nicht so hin, dass es mir einen sinnvollen Verlauf anzeigt...?Tja, da greift wieder der übliche Hinweis: wir können keinen Code debuggen, den der Fragende nicht gepostet hat… |