PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC Mathematisches Problem



Lestard
27.08.2004, 08:47
Hallo!

Ich verwende einen PIC16F877 und den CCS-Compiler.
Folgende Formel muss ich implementieren, jedoch habe ich
keine Ahnung wie:

y = 15.3 * x^-0.9194

Ich weiß, dass x^-1 gleich 1/x ist, jedoch bei x^-0.9194
Auf 1 aufrunden geht nicht, da die Berechnung sonst zu
ungenau wird.

Vielleicht hat jemand eine Idee oder einen Link.

Danke im voraus!

Joerg
27.08.2004, 09:57
Hi Lestard,

also bei meinem SXC von CCS geht das wie folgt:

y = 15.3 * EXP (-0.9194 * LOG (x));

Kann natürlich sein, dass anschließend der Programmspeicher voll ist (in den SX würde die Zeile gar nicht reinpassen). Deshalb solltest du vielleicht überlegen, eine Tabelle mit ein paar Stützwerten zu nutzen und zu interpolieren.

Viele Grüße
Jörg

gamecounter
27.08.2004, 18:09
also y = 15.3 * x^-0.9194 ist genau das selbe wie y = 15.3 / x^0.9194

Joerg
27.08.2004, 18:19
Hi Gamecounter,


also y = 15.3 * x^-0.9194 ist genau das selbe wie y = 15.3 / x^0.9194
Das ist zwar richtig, doch nutzt nichts, da der Compiler x^y nicht kennt, die Funktion POW ist nicht implementiert, deshalb muss man die Funktion über EXP (e^x) und LOG (ln) nachbilden.

Viele Grüße
Jörg

Jooker
27.08.2004, 19:49
Welche Werte kann denn x annehmen?
Vielleicht kannste das dann auch mit einer Tabelle machen.

gamecounter
28.08.2004, 14:26
achso danke jetzt versteh ich die Frage.

Ich dachte mir schon das die Lösung doch nicht so einfach sein kann!!