出展:パーソナルソフトウェア技法 Watts S. Humphrey 著 ISBN4-320-02929-1

PSP課題 05A_CS : 数値積分

前提条件

6章までと A5 節

要求

次のような形式で、シンプソン則で積分する関数を作成せよ。
public delegate double CalcFunc(double x,object o);
public static double Simpson(CalcFunc f,double lower,double upper,object o);
正規分布を−∞から、適当な値まで積分し出力せよ。
正規分布の関数は、NormDist(x) := exp(-x*x/2) / sqrt(2*PI) を用いよ。
シンプソン則は、n 分割した n+1 個の位置での値に 1,4,2,4,2,...,1 を掛けて和をとり、 (upper-lower) を掛けて 3*n で割ったものが積分値となる。分割数は偶数でなければいけない。 無限ループにならないようにチェックせよ。
ベースは prob/PSP_TEMPL_CS とせよ。

テスト

入力ファイル期待される出力
テスト105A_CS_test_1.txt結果1
テスト205A_CS_test_2.txt結果2
テスト305A_CS_test_3.txt結果3

参考

A5 節をよく読むこと。

解答例