C# Math.Log problem

xanatos1992

Newbie
Registriert
Sep. 2011
Beiträge
7
hi leute
hab ein kleines problem mit meiner Math funktion
zumindestens ist es so das er mir nicht wirglich das ausgibt
was ich selbst mit dem taschenrechner berechnet habe
die rechnung ist
log(1/0,01)
taschenrechner = 2
in meinem programm = 0,5 :O

wie geht das

hier mal der entsprechende code abschnitt
Code:
String kathode_text = kathode.Text;
            if (kathode_text != "")
            {
               kathode_wert = Convert.ToDouble(kathode_text);
            }

String anode_text = anode.Text;
            if (anode_text != "")
            {
                anode_wert = Convert.ToDouble(anode_text);
            }

double zwischen = anode_wert / kathode_wert;
double zwischen2 = Math.Log(10, zwischen);


danke für eure helfen
MFG
 
ui okay das ist peinlich xD jetzt gehts
danke :D
und ja geht in diie if schleifen
sonst würde ich bei der rechnung ein fehler bekommen :D
 
MrStools schrieb:
Geht er denn in die if-Schleifen überhaupt??
if-Schleife?! :rolleyes:

Das Problem ist, dass du beim Aufruf von Math.Log den Wert und die Basis vertauscht hast:
Code:
double falsch = Math.Log(10, zwischen); // log0,01(10) = 2
double richtig= Math.Log(zwischen, 10); // log10(0,01) = 0,5

Alternativ kannst du für einen 10er-Logarithmus auch einfach Math.Log10 verwenden. Dann kann das nicht passieren. ;)
 
Zurück
Oben