Gast
#2774128
Hallo habe eine Frage,kann man folgende Formel
effizienter berechnen? da es aufm Mikrocontroller schon sehr ineffiziente Berechnung ist Danke für eure Hilfe
|
Anzeige
|
Effiziente Berechnung einer Formel
Gast
#2774128
Hallo habe eine Frage,kann man folgende Formel effizienter berechnen? da es aufm Mikrocontroller schon sehr ineffiziente Berechnung ist Danke für eure Hilfe
Gast
#2774141
z.B. (U1 - U0) / (U1 * U0) Damit hast du eine Division durch eine Multiplikation ersetzt. edit: mist zu langsam ich schrieb: > z.B. > > (U1 - U0) / (U1 * U0) > > Damit hast du eine Division durch eine Multiplikation ersetzt. Ich stimme "ich" zu, ist aber nicht zwangsweise die Lösung für Martin. Wichtig ist immer noch der Wertebereich! Vor allem bei einem 8 Bit CPU, und für die Lösung von "ich" muss dieser grundsätzlich grösser sein => Also aufpassen! mfg Andreas Andreas B. schrieb: > Wichtig ist immer noch der Wertebereich! Vor allem bei einem 8 Bit CPU, > und für die Lösung von "ich" muss dieser grundsätzlich grösser sein => > Also aufpassen! das ist trotzdem nix im Vergleih zu einer SW-Division Vlad Tepesch schrieb: > Andreas B. schrieb: >> Wichtig ist immer noch der Wertebereich! Vor allem bei einem 8 Bit CPU, >> und für die Lösung von "ich" muss dieser grundsätzlich grösser sein => >> Also aufpassen! > > das ist trotzdem nix im Vergleih zu einer SW-Division Dies war ein Hinweis auf eine mögliche Fehlerquelle und hat nur zweitranging mit der Effizienz zu tun, da Martin ja nicht genannt hat was für eine CPU er verwenden wird... mfg Andreas
Gast
#2774255
Ist der Wertebereich einschränkbar? Dann würde ich eine Lookuptable anlegen (ergebnisse am PC berechnen und im Flash abspeichern). Ansonsten kannst du auch einen CORDIC-Algorithmus für die Division implementieren, der dürfte schnell genug sein...
Gast
#2774271
Martin schrieb: > effizienter berechnen? da es aufm Mikrocontroller schon sehr > ineffiziente Berechnung ist Einerseits, wie bereits gesagt, durch Umstellen der Gleichung. Andererseits aber auch durch effiziente Implementationstechniken. Das hängt aber sehr von diversen Faktoren Wertebereich und Auflösung von Input und Output, geforderte Genauigkeit, geforderte Geschwindigkeit, Möglichkeit für Näherungslösungen, usw. am effizientesten wäre es vermutlich, sich eine CPU zu suchen, bei der man sich nicht schon bei einer lächerlichen Division um Geschwindigkeit sorgen machen muss im Zeitalter von GHZ octocore cpus, kann das ja nicht so schwer sein ps. geht es hier eigentlich um INT oder Fließkomma ?? Robert L. schrieb: > ps. geht es hier eigentlich um INT oder Fließkomma ?? Ich tipp auf boolean ;-) >Ich tipp auf boolean ;-)
da würde dann auch die, weiter oben angesprochene, lookup-tabelle Sinn
machen ;-)
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|