2016.05.05
数学
数学関数(対数) log、log10
対数は、以下の式でyを真数、aを底をした時のxのことです。
Math.log10メソッド
public static double Math.log10( double a )
・aの対数(底=10)を返します。 パラメータ a : 値 戻り値 10を底とするaの対数
Math.logメソッド
public static double Math.log( double a )
・aの自然対数(底=e)を返します。 パラメータ a : 値 戻り値 aの自然対数
任意の底aから対数を計算する式は、下の式のように書くことができます。bは任意の値なので、10でも自然対数eでもよいことになります。
Javaソースコード
LogSample.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019
public class LogSample { public static void main( String[] args ) { // y = aのx乗 double x = 5.0; // 指数(対数) double a = 2.0; // 底 double y = Math.pow( a, x ); // 真数 // 結果表示 String head = "底=" + a + " 真数=" + y + "の対数"; // Math.logで計算 double xe = Math.log( y ) / Math.log( a); System.out.println( head + "(Math.logを使用) : " + xe ); // Math.log10で計算 double x10 = Math.log10( y ) / Math.log10( a); System.out.println( head + "(Math.log10を使用) : " + x10 ); } }
実行結果
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis LogSample.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac LogSample.java
実行
C:\talavax\javasample>java LogSample
底=2.0 真数=32.0の対数(Math.logを使用) : 5.0 底=2.0 真数=32.0の対数(Math.log10を使用) : 5.0
Math.logとMathlog10のどちらのメソッドを使ってもの同じ結果が得られています。
以上です。