/* <日付を入力> * 例題6.1 * f(x) = x^2 の微分を求めるサンプルプログラム * ファイル書き込みのためにjava.ioクラスを使用. */ import java.io.*; // ファイル操作を行うためのインポート public class Differential { // フィールドの定義 static final double X_MAX = 5.0; // 計算の最大値 static final double MIN_DIV = X_MAX/100.0; // 微小区間の定義 // メインメソッド public static void main(String [] args) { try { // 変数の定義 double dx = MIN_DIV; // xの微小区間 double x; // 独立変数 double dy; // 導関数の値 double y0, y1; // 定義関数の計算用 // ファイル書き込みオブジェクトの作成 FileWriter fout = new FileWriter("data.txt"); // defineFunctionメソッドを使うためにオブジェクトを作成 Differential differential = new Differential(); // 差分商による微分計算 for (x=0; x<=X_MAX; x+=MIN_DIV) { y0 = differential.defineFunction(x); y1 = differential.defineFunction(x + dx); // 1階差分商の計算 dy = (y1 - y0) / dx; // 計算結果のファイル出力 fout.write(x + " " + y0 + " " + dy + " " + "\n"); // 計算結果の標準出力(確認用) System.out.println(x + " " + y0 + " " + dy); } // ファイルを閉じる fout.close(); } catch (Exception e) { System.out.println(e); } } // main // 微分する関数の定義 double defineFunction(double x) { return x*x; } } // class Differential