AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Logarithmus in Delphi

Ein Thema von kischiman · begonnen am 28. Okt 2007 · letzter Beitrag vom 29. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
kischiman

Registriert seit: 28. Okt 2007
10 Beiträge
 
#1

Logarithmus in Delphi

  Alt 28. Okt 2007, 18:43
Hallo!
Ich bin hier ganz neu im Forum und habe eine ziemlich wichtige und dringende Frage.
Eine Antwort auf sie, die ich auch praktisch nachvollziehen kann habe ich bisher nirgendwo gefunden, daher schreibe ich mein Problem hier mal rein:
Also ich habe eine Aufgabe, die die folgende Gleichung vorsieht:

lg A - lg B
------------ = D
lg C

Nun weiß ich zwar (u.a. aus http://www.dsdt.info/), wie ein Logarithmus Naturalis aussehen soll, aber ich weiß damit nichts anzufangen, bzw. wie ich ihn in diese Gleichung einbauen kann.
Hier fand ich die Zeile, die einen ln beschreibt, aber ich hab keine Ahnung, was ich damit anfangen soll.

Ich habe ein Programm zur Aufgabe, welches aus dem Zinssatz und dem Startkapital die Zeit berechnen soll, in der man auf das Endkapital (= 1.000.000) kommt.
Es gibt zwei Eingabefelder (Zinssatz und Starkapital) und einen Auslösebutton. Aber das ist ja kein Problem, mein Problem ist die Rechnung, die dabei geschehen muss... Jeder Tipp ist super-hilfreich, ich hoffe also, ihr könnt mir helfen!
Danke!


kischiman
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 18:55
Herzlich willkommen hier im Forum,

leider verstehe ich nicht, was du nicht verstehst... Wo hast du die Formel her? Was ist A, B, C und D?

Ln ist der natürliche Logarythmus, mit der Basis e. e ist die Eulersche Zahl und hat den Wert 2,718... ln(e) ist dementsprechend wieder 1. Und die Umkehrfunktion ist in dem Fall die Exponentialfunktion e^x.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 18:56
In deinem Fall wäre eher der Logarithmus zur Basis 10 der richtige:
http://www.dsdt.info/referenz/kategorie/?id=16

d := (log10(a) * log10(b)) / log10(c);
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 19:04
Wenn du die Math-Unit nicht einbinden willst kannst du auch den natürlichen Logarithmus nehmen...
Code:
lg10(x) = ln(x) / ln(10)
also
Delphi-Quellcode:
function D(a,b,c:real):real;

  function lg10(x:real):real;
  begin
    Result:=ln(x) / ln(10);
  end;

begin
  Result:=(lg10(a) - lg10(b)) / lg10(c);
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
kischiman

Registriert seit: 28. Okt 2007
10 Beiträge
 
#5

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 19:20
Wow!
Ihr seid schneller, als ich erwartet habe!
Vielen Dank für die Antworten!
Ich habe das Math-Unit eingebunden und es so gemacht, wie mkinzler beschrieben hat.

Das ganze sieht bei mir jetzt so aus:

Delphi-Quellcode:
zahl1:=StrToFloat(Edit1.Text);
zahl2:=StrToFloat(Edit2.Text);
gesamt:=(log10(1000000) * log10(zahl1)) / log10(zahl2);
label6.caption:=floattoStrF(gesamt,ffcurrency,7,2);
Wobei aus der Gleichung oben
a = 1000000
b = zahl1
c = zahl2
d = gesamt
entspricht.
Ich habe es erst bloß mit Variablen abgekürzt, damit es für euch einfacher zu verstehen ist.
Doch irgendwie habe ich das Gefühl, dass irgendwas nicht richtig funktioniert.
Ich versuche es nochmal auf die Art, wie omata es beschrieb, also mit dem ln, vielleicht führt das zu realistischeren Ergebnissen...
Wer sich die Mühe machen und sich das ansehen will, ich habs auf meinen Server hochgeladen:
www.kischiman.de/delphi/projekt2.rar
Ich danke euch nochmal vielmals für die Hilfe!!!

EDIT: Also wenn ich das jetzt mit dem Logarithmus Naturalis mache, meckert Delphi bei function. (Anweisung erwartet, aber function gefunden) Ich habs bestimmt falsch hingesetzt, aber egal wo, es passt ihm nicht...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 19:30
Zitat:
Ich versuche es nochmal auf die Art, wie omata es beschrieb, also mit dem ln, vielleicht führt das zu realistischeren Ergebnissen...
Da sollte das selbe rauskommen, weil seine Funktion den log10 auf Basis von ln implementiert.
Zitat:
Doch irgendwie habe ich das Gefühl, dass irgendwas nicht richtig funktioniert.
Inwiefern? Was kommt raus und welches Ergebnis erwartest du? Was berechnet die Formel?
Markus Kinzler
  Mit Zitat antworten Zitat
kischiman

Registriert seit: 28. Okt 2007
10 Beiträge
 
#7

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 19:54
Also wenn in dieser Rechnung:
gesamt:=(log10(1000000) * log10(zahl1)) / log10(zahl2); zahl1 = 5000
zahl2 = 5
ist,
bekomme ich als
gesamt
1,13
als Ergebnis...

Ich hab jetzt leider keine Möglchkeit, das mathematisch zu überprüfen, aber schau dir doch bitte, wenn es keine Umstände macht, das Programm an:
www.kischiman.de/delphi/projekt2.rar
(Form2 ist die entscheidende, bzw. die "Zeitberechnung")
Danke dir!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 20:05
Wenn du uns nicht verrätst was die formel macht, kann man dir auch nicht sagen, ob die Rechnung richtig ist.
Markus Kinzler
  Mit Zitat antworten Zitat
kischiman

Registriert seit: 28. Okt 2007
10 Beiträge
 
#9

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 20:13
Oh, achso, entschuldigt...
Also es geht um Zinsrechnung.
Das Programm soll berechnen, wie lange man braucht, um auf 1.000.000€ zu kommen, mit dem gewünschten Startkapital (zahl1) und Zinssatz (zahl2).
Mathematisch ausgedrückt würde die Formel so aussehen:
t=(lg(1.000.000) - lg (Startkapital)) / lg (Zinssatz + 1)
t ist logischwerweise die Zeit, also das Ergebnis...
Ou man, ich dreh durch, ich blick das überhaupt nicht durch in Delphi... :/
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Logarithmus in Delphi

  Alt 28. Okt 2007, 20:16
Sorry hatte dein . als * gelesen, muß also:
gesamt:=(log10(1000000) - log10(zahl1)) / log10(zahl2); heißen.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz