Ich möchte folgende Formel im Delphi schreiben, habe aber Probleme mit den ‚x hoch y‘ z.B. 71.84 *10^-4
S = kg^0.425 * cm^0.725 * 71.84 *10^-4
Vielleicht kann mir jemand diese Formel in der richtigen Syntax schreiben
Danke Paul
Ich möchte folgende Formel im Delphi schreiben, habe aber Probleme mit den ‚x hoch y‘ z.B. 71.84 *10^-4
S = kg^0.425 * cm^0.725 * 71.84 *10^-4
Vielleicht kann mir jemand diese Formel in der richtigen Syntax schreiben
Danke Paul
dafür gibts function Power(Base, Exponent: Extended): Extended;
in der Unit Math
das sollte dann etwa so aussehen:
S:=Power(kg,0.425) * Power(cm,0.725) * 71.84/10000
oder selbst machen…die Logarithmen gezückt und viel Spass :o)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Wenn du die Unit Math nicht hast, kannst du dir mit der zur Verfügung stehenden Exponentialfunktion die Power-Funktion selbst schreiben:
Zur Herleitung:
a^b möchtest du ausrechnen, y ist das gesuchte Ergebnis
a^b = y.
Jetzt logarithmier die Sache:
ln(a^b) = ln(y)
Hier der Trick: nach den Log-Gesetzten kann man den Exponent im Logarithmus als Faktor vorziehen:
b*ln(a) = ln(y)
Nun wieder potenzieren (die Lagarithmierung rückgängig machen):
exp(b*ln(a)) = y
That’s it.
Deine Funktion könnte so aussehen:
function Power(Basis,Exponent:Extended);
begin
result := exp(Exponent*ln(Basis))
end;
Und die Rechnung:
S := Power(kg,0.425) * Power(cm,0.725) * Power(71.84,1E-4)
Gruß
Jochen