2016.05.05

数学

数学関数(対数) log、log10

対数は、以下の式でyを真数、aを底をした時のxのことです。

対数(底=a)

Javaでは、底を10または自然対数(e)としたときのメソッドが用意されています。それぞれの仕様は以下のとおりです。

Math.log10メソッド

public static double Math.log10( double a )
・aの対数(底=10)を返します。

  パラメータ a : 値

  戻り値     10を底とするaの対数
対数(底=10)

Math.logメソッド

public static double Math.log( double a )
・aの自然対数(底=e)を返します。

  パラメータ a : 値

  戻り値     aの自然対数
対数(底=e)

Javaメソッドには、任意の底から対数を計算するメソッドはありません。そこで、Javaで用意されているMath.logメソッドまたはMath.log10メソッドを使って計算してみます。

任意の底aから対数を計算する式は、下の式のように書くことができます。bは任意の値なので、10でも自然対数eでもよいことになります。

対数(底=a)

Javaソースコード

以下は、この式を使って対数を計算する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のどちらのメソッドを使ってもの同じ結果が得られています。

以上です。

関連コンテンツ

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

平行四辺形の面積を計算する方法を説明しています。図を使って面積の計算方法をくわしく解説しています。

2020.03.23

広告