lineare interpolation oder eine Formel berechnen ?

Hallo, ich habe eine Meßreihe erstellt.

Schaut so aus,erinnert an eine Hypẹrbel.

In meinem Programm brauche ich eine Funktion die dies berechnet.
Da ich Punktepaare habe, könnte ich diese in ein array packen und via lineare interpolation arbeiten.

Andere Vorschläge - was meint ihr ?

Grüße Rudi

Du musst Dir mehrere Fragen stellen:

  • Wie groß darf der Fehler sein? - Das beeinflusst maßgeblich alle weiteren Entscheidungen.
  • Wenn Du nen einfaches Fitting dazu findest, kannst Du das sicher nutzen (irgendwas exponentielles).
  • Wenn es auf Berechnungsgeschwindigkeit ankommt, sind crazy float/double Berechnungen vielleicht weniger praktisch, da könnte auch lineare Interpolation sinnvoll sein.

Wenn Du nur willst, dass es irgendwie grob funktioniert, mach was Einfaches :smiley:

http://www.serialcominstruments.com/math.php
Scheint deine Probleme zu lösen

Ok, danke euch.
Ich werde es linear Interpolieren.
Da die Funktion am Ende immer linearer wird habe noch einen letzten Meßwert genommen der max.Wert abdeckt.
(Alle vorherigen sind in 20 Schritten aufsteigend)

Diese Funktion beschreibt das Verhältnis aus einer Geschwindigkeit (mm/min) die Pulsbreite der Steppermotoren für meinen CO2 Lasercutter.
Ich dachte anfangs das muß linear sein, und hatte vorher eine entsprechende Funktion drin.

Als ich erste Tests damit machte, stimmte das nicht.
Zum Testen also einen G01 Befehl bis zum Tischende und wieder zurück und die Zeit gemessen.
Von daher kommen diese Werte.

Wenn ich ehrlich bin, verstehe ich nicht wirklich warum dies nicht linear ist.

Es hängt auch mehr dran als bei normalen Steppern, evtl passiert es dort.
Die Motoren sind DC Servos mit Rotationsgebern, die über UHU Endstufen gesteuert werden.
Die UHU's wiederum brauchen nur Step und Dir.