ich einige Berechnungen in vb.net tue, das ist meine Gleichung:Berechnung Logarithmen in vb.net - widersprüchliche Ergebnisse
rms = (20 * (Math.Log(rms/0.7746))) 'also tried (Math.Log10(rms/0.7746))
ich verschiedene Methoden des Schreibens dieser versucht haben, einschließlich der Berechnungen Abtrennung in verschiedene Schritte. Das Endergebnis ist jedoch ziemlich weit entfernt.
Ich habe versucht, meine Variable 'RMS' als eine Dezimalzahl und ein Doppel zu deklarieren. Es enthält Dezimalstellen.
in Excel Ich habe die gleiche Berechnung mit dieser Formel versucht:
=20*(LOG(C2/0.7746)) ' where C2 is the RMS value
Und die Ergebnisse sind konsistent mit einer Website, die ich verwenden, sowie meinen Taschenrechner zu überprüfen.
ich auch die Zahl auf 3 Dezimalstellen gerundet haben versucht:
rms = Math.Round(rms, 3)
Auch dies hat einen minimalen Einfluss auf das Endergebnis.
Ich kann nur annehmen, es ist die "Vorrangstellung des Bedieners" in VB, aber ich habe Mühe, dieses eine zu arbeiten.
Jede Hilfe sehr dankbar wie immer, danke.
nur überprüfen - 20 * (Math.Log10 (100.0)) sollte 40 – MBo
In Ihrer Excel-Formel ist die LOG-Funktion standardmäßig auf Basis 10. Wenn Sie das gewünschte Ergebnis erhalten, müssen Sie 'Math.Log10 verwenden 'in Ihrer VB.Net-Anweisung. Sie haben gesagt, dass Sie das versucht haben, aber wenn ich 'Math.Log10' verwende, bekomme ich das gleiche Ergebnis wie die Excel-Formel. – Blackwood
Ja, ich bekomme 40 wie erwartet mit beiden der folgenden: In Excel: = 20 * (LOG (L6)) - in VB: MsgBox (20 * (Math.Log10 (100.0))) – Tony