Javaプログラミング学習サイト ゆるゆるプログラミング

・Javaソースダウンロード(NewtonsMethod.java)

ニュートン法を使った平方根計算メソッドのJavaのソースコードです。

このソースについての記事はこちら「ニュートン法で平方根 その3」です。

NewtonsMethod.javaをダウンロード

ダウンロードしたファイルはzip形式です。解凍して使ってください。Windowsの場合、ダウンロードしたzipファイルをマウスの右ボタンでクリックして表示されるポップアップメニューから「すべて展開(T)」で解凍できます。

public class NewtonsMethod {
	// f(x)=x^2-a
	static double f( double x, double a )
	{
		return x * x - a;
	}


	// f(x)の微分f'(x) - 接線の傾き
	static double df( double x )
	{
		return 2 * x;
	}


	// ニュートン法 漸化式
	static double newtons( double x, double a )
	{
		return x - f( x, a ) / df( x );
	}


	// ニュートン法で平方根を計算するメソッド
	static double sqrt( double a )
	{
		// 変数の宣言
		double e = 0.000001;	// 収束の判定値
		double x;		// 計算値を格納
		double x_ans;		// 1つ前の計算値

		// aが0.0以下の場合、そのままのaの値を戻す
		if ( 0.0 >= a ) return a;

		// 初期値を代入
		x_ans = 10000.0;

		// 5000回のループ
		for ( int i = 1; i <= 5000; ++ i ) {
			// ニュートン法で計算
			x = newtons( x_ans, a );

			// 収束の判定
			if ( e > Math.abs( x - x_ans ) )
				return Math.abs( x );

			// 最新の計算結果を次の計算結果に代入
			x_ans = x;
		}

		// 収束しなかった場合、マイナスの値を戻す
		return -1.0;
	}


	// メイン
	public static void main(String[] args) {
		// 変数の宣言
		double a;

		// 平方根を求める値を代入
		a = 77.7 * 77.7;

		// 結果の表示
		System.out.println( a + "の平方根: " + sqrt( a ) );
	}
}

このソースについての記事はこちら「ニュートン法で平方根 その3」です。

 

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

Topへ