Forum: Compiler & IDEs Funktion oder Lookup-table?


von Kottan (Gast)


Lesenswert?

Hallo!

Es geht darum an einem Motor die Stellung eines StauklappenLMM 
drehzahlabhängig umzurechnen auf den daraus resultierenden Druck nach 
der Drosselklappe. Dazu hab ich jetzt erstmal ein paar Messdaten 
gesammelt und mit gnuplot eine Funktion angenähert. Dazu auch gleich 
meine erste Frage(auch wenns eigentlich nicht in dieses Forum passt):
Ich hab jetzt die Funktion g(x,y) = a+b*x+c*y+d*x*y+e*y**2+f*x*y**2
aus einem anderen Beitrag hier genommen. Ist das so korrekt oder gibts 
da noch andere möglichkeiten?
Dann bekomme ich die Ausgabe:
1
Final set of parameters            Asymptotic Standard Error
2
=======================            ==========================
3
4
a               = 1.01854          +/- 0.004436     (0.4355%)
5
b               = -0.000130624     +/- 1.713e-006   (1.311%)
6
c               = -0.0014943       +/- 1.426e-005   (0.9542%)
7
d               = 1.67228e-007     +/- 4.996e-009   (2.987%)
8
e               = 1.92381e-006     +/- 2.575e-008   (1.338%)
9
f               = -2.6181e-010     +/- 7.362e-012   (2.812%)
Heißt das jetzt das die maximale Abweichung ~3% ist oder ist das die 
durchschnittliche?

Aber worum es mir haupsächlich geht ist das die Umrechnung so schnell 
wie möglich sein sollte. Ist es jetzt schneller die Funktion direkt zu 
berechnen oder eine Tabelle zu verwenden und anschließend zu 
interpolieren? Bwz. welche Vor- und Nachteile haben diese Varianten?
Eine große Tabelle ohne Interpolation wäre eher ungünstig da ich min 
8bit Auflösung beim ADC brauche und dann der Array gut 20kb hätte.

von Benedikt K. (benedikt)


Lesenswert?

Kommt auf den Prozessor an, aber wenn dieser keine FPU besitzt, dann 
dürfte die Tabelle eindeutig schneller und vermutlich auch genauer sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.