Funktion zur Kurve finden
-
@MatheDepp
Du willst aus einem zweispaltigen Array mit X und Y- Wertepaaren eine Diagramm- Kurve darstellen als Funktion Y=f8X) mit welcher Du an jedem Zwischenwert für X einen interpolierten Y- Wert berechnen kannst?
Dann Google mal nach stückweiser Interpolation!
Oder mach einfach:
- Unterteile das Array in Teilstücke
- erstelle für jedes Intervall zw. zwei X- Werten zwei Quadratische Funktionen
- derart, dass beide durch die angrenzenden Punkte verlaufen UND jeweils
- durch den Startpunkt des voherigen Abschnittes bzw.
- durch den Endpunkt des folgenden Abschnittes verläuft
. mit zwei gegenläufigen Gewichtsfunktionen f(t) multiplizierst Du
beide Qudratischen Funktionen und addierst das Ergebnis.
- Laufparameter läuft für jedes Segmen 0.0. .. 1.0
Die Summe beider Gewichrtsfunktionen muss für alle t 1.0 ergeben
- Die Werte- Parre im Array müssen nach aufsteigenden X- Werten sortiert sein!- am besten geht das mit kubischen Gewichtsfunktionen.
Ergebnis mit geeigneten Gewichtsfunktionen:
Eine Funktion mit folgenden Eigenschaften:
- Funktion im gesamten Bereich "Quasistetig"
=> Verlauf geht durch alle Stützpunkte,
- Anstieg rechtseitig UND linksseitig der Kontrollpunkte gleich
=> tangentialer Verlauf.
- Auch die 2. Ableitung ist im gesamten Bereich "Quasistetig"!"Quasistetig bedeutet:
Obwohl für jeden Abschnitt andere Funktionen berechnet werden ist der resultierende Gesamtverlauf als stetig zu betrachten- von Rundungsfehlern am Übergang abgesehen.Wenn Du das geeignet in ne DLL packst, kannste das wie EINE normale Funktion benutzen ) Y= Funktion (X)
Sone DLL klappt prima auch in Fremdprogrammen! (Ist so getestet)
Gruss
Frank