Annäherung von Daten an ein Polynom eines gegebenen Grades
Moderator: Moderatoren
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Annäherung von Daten an ein Polynom eines gegebenen Grades
Hat jemand eine Funktion, ein array von Daten durch ein Polynom eines gegebenen Grades zu approximieren?
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hallo Eugeny !
So wie es Excel mit der Funktion Trendlinie -> Trendlinienoptionen -> Polynomisch auch macht?Hat jemand eine Funktion, ein array von Daten durch ein Polynom eines gegebenen Grades zu approximieren?
- Dateianhänge
-
- Polynom.jpg (206.14 KiB) 7747 mal betrachtet
--
Hans-Peter
Hans-Peter
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Ja, genau so. Aber ich brauche überhaupt keinen Dialog. Es genügt, der Funktion ein eindimensionales array von Quelldaten zu übergeben und ein eindimensionales array von polynomkoeffizienten zurückzugeben. Und als Parameter den Grad des Polynoms angeben
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hallo Eugeny !
Ein Kollege verwendet dieses Programm zur Erstellung von Polynom-Funktion anhand von Thermoelement-Kalibierkurven.
Hier steht etwas dazu:
http://www.oakdaleengr.com/datafit.htm
Non-graphical execution – DataFit can also be run non-graphically from other programs. Simply create a configuration template (either on your own or through the interface), save it, and call DataFit from your program. You can choose handshaking options, such as DDE (Dynamic Data Exchange), progress indicators, and message box displays. Macros support parameterization, which allow you to quickly batch process hundreds of datasets in a single run.
Vielleicht geht das mit dem Programm DataFit: http://www.oakdaleengr.com/Aber ich brauche überhaupt keinen Dialog.
Ein Kollege verwendet dieses Programm zur Erstellung von Polynom-Funktion anhand von Thermoelement-Kalibierkurven.
Hier steht etwas dazu:
http://www.oakdaleengr.com/datafit.htm
Non-graphical execution – DataFit can also be run non-graphically from other programs. Simply create a configuration template (either on your own or through the interface), save it, and call DataFit from your program. You can choose handshaking options, such as DDE (Dynamic Data Exchange), progress indicators, and message box displays. Macros support parameterization, which allow you to quickly batch process hundreds of datasets in a single run.
--
Hans-Peter
Hans-Peter
- mikehoffmann
- Rekursionen-Architekt
- Beiträge: 136
- Registriert: Mo, 21. Sep 2015 16:22
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 19 Mal
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hallo Eugeny:
Code: Alles auswählen
FUNCTION Main
LOCAL n
SET ALTE TO zing.txt
SET ALTE ON
FOR n := 0 TO 5 Step 0.1
QOut(n,InterPolate({{0,2}, {1,3}, {2,12}, {5,147}},n))
NEXT n
Inkey(0)
RETURN NIL
FUNCTION Interpolate(xyPairs,x)
LOCAL n := Len(xyPairs)
LOCAL result := 0
LOCAL term
LOCAL i,j
FOR i := 1 TO n
term := xyPairs[i][2]
FOR j := 1 TO n
IF (i # j)
term := term*(x-xyPairs[j][1])/(xyPairs[i][1]-xyPairs[j][1])
ENDIF
NEXT j
result += term
NEXT i
RETURN result
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hallo HaPe und mikehoffmann!
Ihre Informationen sind sehr interessant und nützlich. ich werde jetzt versuchen, es zu benutzen. Danke!
mikehoffmann! Kann die QOut-Funktion nicht anzeigen...
Ihre Informationen sind sehr interessant und nützlich. ich werde jetzt versuchen, es zu benutzen. Danke!
mikehoffmann! Kann die QOut-Funktion nicht anzeigen...
- mikehoffmann
- Rekursionen-Architekt
- Beiträge: 136
- Registriert: Mo, 21. Sep 2015 16:22
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 19 Mal
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hello Eugeny,
sorry for QOut. You can also write "? n,InterPolate({{0,2}, {1,3}, {2,12}, {5,147}},n)".
Best regards
Michael
sorry for QOut. You can also write "? n,InterPolate({{0,2}, {1,3}, {2,12}, {5,147}},n)".
Best regards
Michael
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Danke, mikehoffmann!
Ich habe es herausgefunden und versucht, aber etwas hat nicht wirklich funktioniert. Ich werde es noch versuchen. Ich habe alles nachts gemacht, gefoltert...
Vielen Dank! Jetzt hat es geklappt:
Eine dünne schwarze Linie - gerade Linien, die an Referenzpunkten aufgebaut sind. Die Dicke VIOLETTE Linie ist die Bézier-Kurve. Die rote Linie ist ein Polynom des N-TEN Grades. Alles gibt es hier: http://lc.kubagro.ru/Bezier.zip. Es ist sichtbar, dass sich das Polynom korrekter verhält als die Bézierkurve
Ich habe es herausgefunden und versucht, aber etwas hat nicht wirklich funktioniert. Ich werde es noch versuchen. Ich habe alles nachts gemacht, gefoltert...
Vielen Dank! Jetzt hat es geklappt:
Eine dünne schwarze Linie - gerade Linien, die an Referenzpunkten aufgebaut sind. Die Dicke VIOLETTE Linie ist die Bézier-Kurve. Die rote Linie ist ein Polynom des N-TEN Grades. Alles gibt es hier: http://lc.kubagro.ru/Bezier.zip. Es ist sichtbar, dass sich das Polynom korrekter verhält als die Bézierkurve
Zuletzt geändert von Eugeny Lutsenko am Do, 04. Jun 2020 22:39, insgesamt 1-mal geändert.
- mikehoffmann
- Rekursionen-Architekt
- Beiträge: 136
- Registriert: Mo, 21. Sep 2015 16:22
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 19 Mal
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hallo Eugeny,
ich muss Dir danken. Vor fast 40 Jahren habe ich den Algorithmus, der an sich recht einfach ist und gute Ergebnisse liefert, schon mal genutzt. Damals habe ich ihn für eine Kaminquerschnittsberechnung in BASIC genutzt. Leider ist mir der Algorithmus verschütt gegangen. Dank Deiner Nachfrage habe ich intensiver im Internet gesucht und ihn wieder gefunden. Juhuu! Ich werde ihn nun nutzen, um in Flugzeug-Leistungstabellen zu interpolieren. (Druckhöhe, Temperatur, Leistung, Drehzahl, Geschwindigkeit, Verbrauch, Start- und Landestrecken) Diese Interpolation wird dann sogar mehrstufig sein.
Viele Grüße
Michael
ich muss Dir danken. Vor fast 40 Jahren habe ich den Algorithmus, der an sich recht einfach ist und gute Ergebnisse liefert, schon mal genutzt. Damals habe ich ihn für eine Kaminquerschnittsberechnung in BASIC genutzt. Leider ist mir der Algorithmus verschütt gegangen. Dank Deiner Nachfrage habe ich intensiver im Internet gesucht und ihn wieder gefunden. Juhuu! Ich werde ihn nun nutzen, um in Flugzeug-Leistungstabellen zu interpolieren. (Druckhöhe, Temperatur, Leistung, Drehzahl, Geschwindigkeit, Verbrauch, Start- und Landestrecken) Diese Interpolation wird dann sogar mehrstufig sein.
Viele Grüße
Michael
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Hi, mikehoffmann!
Ja, ich habe auf den Algorithmus geachtet. Ich mochte ihn. Ähnelt der sequenziellen Normalisierung des Variablen Bereichs [0,1]. Aber mit dem hinzufügen neuer Werte. Ich verstehe nicht wirklich, wie das mit Polynomen des N-TEN Grades zusammenhängt. Mehr wie eine Art originelles Anti-Aliasing. Aber das Ergebnis ist gut und ähnelt der Verwendung von Polynomen. Ich bin froh, dass du diesen Algorithmus zum zweiten mal gefunden hast. Ich werde es auch benutzen. Danke für den Hinweis.
Ja, ich habe auf den Algorithmus geachtet. Ich mochte ihn. Ähnelt der sequenziellen Normalisierung des Variablen Bereichs [0,1]. Aber mit dem hinzufügen neuer Werte. Ich verstehe nicht wirklich, wie das mit Polynomen des N-TEN Grades zusammenhängt. Mehr wie eine Art originelles Anti-Aliasing. Aber das Ergebnis ist gut und ähnelt der Verwendung von Polynomen. Ich bin froh, dass du diesen Algorithmus zum zweiten mal gefunden hast. Ich werde es auch benutzen. Danke für den Hinweis.
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Annäherung von Daten an ein Polynom eines gegebenen Grades
Antialiasing von vorhersageszenarien mit Polynomen im Eidos-System angewendet:
Ich mag, wie es gelaufen ist. So habe ich mir das vorgestellt. Also danke. Das wäre immer noch eine funktionierende Funktion für die Berechnung aller Punkte der Bézierkurve, die auf den Referenzpunkten aufgebaut ist... Ich habe algorithmen und solche Funktionen im Internet gesehen, aber Sie sind alle so gemacht, dass Sie in Alaska schwer zu replizieren sind
Ich mag, wie es gelaufen ist. So habe ich mir das vorgestellt. Also danke. Das wäre immer noch eine funktionierende Funktion für die Berechnung aller Punkte der Bézierkurve, die auf den Referenzpunkten aufgebaut ist... Ich habe algorithmen und solche Funktionen im Internet gesehen, aber Sie sind alle so gemacht, dass Sie in Alaska schwer zu replizieren sind