Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mathematische Funktion (https://www.delphipraxis.net/15224-mathematische-funktion.html)

Tester 24. Jan 2004 13:55


Mathematische Funktion
 
Hallo zusammen!

Ich hätte da mal eine kleine Frage.
Ich möchte folgende Berechnung durchführen :

1-e hoch ( - (delte / masse ) *t)

Nur leider weiß ich nicht ob Delphi dafür eine Funktion bereit hält.
Kann mir jemand helfen?

Danke!

Gruß Tester

Chewie 24. Jan 2004 13:59

Re: Mathematische Funktion
 
Die Funktion heißt Exp und befindet sich in der Unit Math.

Tester 24. Jan 2004 14:05

Re: Mathematische Funktion
 
Danke erstmal für deine Hilfe.
aber das dachte ich auch erst aber das e steht nicht für exp sondern für die Naturkonstante e ( Elementarladung ), oder ist das dann egal.
Muß ich das dann vieleicht nur so schreiben?

1 - exp(e hoch ( - (delte / masse ) *t) )

flomei 24. Jan 2004 14:10

Re: Mathematische Funktion
 
Weisst nich wofür die Formel gut ist aber das sollte in Delphi so aussehen:

Delphi-Quellcode:
(1-e)exp(-1*(delta/m)*t)
Sicher bin ihc mir nicht aber durch rumprobieren bekommt man das meistens schnell heraus...

MfG Florian :hi:

Tester 24. Jan 2004 14:14

Re: Mathematische Funktion
 
Das ist für eine Berechnung, die ich mir ausgeben lassen will. In Wirklichkeit ist die noch viel länger ist nur ein kleiner Bruchteil davon. Dann hat ichs ja fast gehabt. Danke, werd das gleich mal testen.

Gruß Tester

Niko 24. Jan 2004 14:21

Re: Mathematische Funktion
 
Zitat:

Zitat von Tester
das e steht nicht für exp sondern für die Naturkonstante e

Dann musst du die Funktion Power(Base, Exponent: Extended) verwenden und für Base e einsetzen.

flomei 24. Jan 2004 14:25

Re: Mathematische Funktion
 
:roll: Wusste, dass ich Fehler da drin hatte... :roll:

Dann musst du mal
Delphi-Quellcode:
Power((1-e), (-1*(delta/m)*t));
ausprobieren. Bin mir nicht sicher ob das jetzt klappt aber nen Versuch ist es wert... ;)

MfG Florian :hi:

Chewie 24. Jan 2004 14:25

Re: Mathematische Funktion
 
Zitat:

Zitat von Tester
aber das dachte ich auch erst aber das e steht nicht für exp sondern für die Naturkonstante e ( Elementarladung ), oder ist das dann egal.

Ich kann mir kaum vorstellen, dass man die Elementarladung als Basis einer Potenz in einer sinnvollen Rechnung gebrauchen könnte. Mit e meint man in aller Regel die Eulersche Zahl.
Aber im Prinzip musst du ja wissen, was du ausrechnen willst.

axelf98 24. Jan 2004 16:09

Re: Mathematische Funktion
 
So gehts, auch wenn man bei großen Werten (>100) Gleitkommafehler bekommt...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 const e = 2.718281828;
 var Wert : Real;
     delta,masse,t : real;
begin

 delta := 10;
 masse := 10;
 t := 5;

 Wert := Power(1-e,-(delta/masse)*t);
 showmessage( floattostr(Wert));

end;

Chewie 24. Jan 2004 17:04

Re: Mathematische Funktion
 
Warum wollt ihr e als Konstante im Quellcode angeben und benutzt nicht exp :roll:

dizzy 24. Jan 2004 17:58

Re: Mathematische Funktion
 
Weil exp die eulersche Konstante ist, er aber e als Wert der Elektronenladung haben möchte. Ganz einfach ;)
Des sind 2 unterschiedliche Werte. Wenn du einen Mathematiker nach "e" fragst, der wird was von Euler erzählne, während der Physiker einen über Elektonen blubbert.


gruss,
dizzy

Chewie 24. Jan 2004 17:59

Re: Mathematische Funktion
 
Zitat:

Zitat von dizzy
Weil exp die eulersche Konstante ist, er aber e als Wert der Elektronenladung haben möchte. Ganz einfach ;)

Ach ja?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const e = 2.718281828;
var Wert : Real;
     delta,masse,t : real;
begin
Das e, das hier angegeben wurde, ist die Eulersche Zahl.

Jens Schumann 24. Jan 2004 18:08

Re: Mathematische Funktion
 
Hallo,
die Elementarladung wäre 1,6021892*10^-19 C (Coulomb)

dizzy 25. Jan 2004 01:23

Re: Mathematische Funktion
 
Zitat:

Zitat von Tester
[...]das e steht nicht für exp sondern für die Naturkonstante e ( Elementarladung )[...]

...schrieb der Fragesteller. Also ist jegliches "Gedönse" mit Euler hier nicht hingehörig. Dass sie oben so angegeben wurde war auch Ergebnis des Missverständnisses. "exp" hat demnach rein garnichts mit dem Problem zu tun, sondern schafft hier nur eine eigene Konstante Abhilfe, und in der Berechnung, wie oben vorgeschlagen, mit "Power".

Zitat:

Zitat von Tester
1-e hoch ( - (delta / masse ) *t)

Die Klammerung der meisten Beispiele ist nach dieser vom Frager gegebenen Gleichung nicht richtig, wie z.B.: Power(1-e,-(delta/masse)*t);

Es muss dann so aussehen:
Delphi-Quellcode:
const el = 0.00000000000000000016021892
.
.
.
Ergebnis := 1 - Power(el, -(delta / masse )*t);

gruss,
dizzy

Chewie 25. Jan 2004 07:37

Re: Mathematische Funktion
 
OK. Dann würd ich aber für die Elementarladung das schreiben:

Delphi-Quellcode:
const
  e: Extended = 1.6021892E-19;
Extended hat die höchste Genauigkeit der Standard-Fließkommatypen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz