www.mikrocontroller.net

Forum: Compiler & IDEs Funktion oder Lookup-table?


Autor: Kottan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
Final set of parameters            Asymptotic Standard Error
=======================            ==========================

a               = 1.01854          +/- 0.004436     (0.4355%)
b               = -0.000130624     +/- 1.713e-006   (1.311%)
c               = -0.0014943       +/- 1.426e-005   (0.9542%)
d               = 1.67228e-007     +/- 4.996e-009   (2.987%)
e               = 1.92381e-006     +/- 2.575e-008   (1.338%)
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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.