許せない心理テスト

私が作成した下記のJavaの数値解析の矩形法のプログラムで、区間分割数nを10から100まで10ずつ増やして計算値を求め、面積の計算誤差を(計算値-真値(0.68269))/真値(0.68269)*100 (%)として計算するプログラムがまったくわかりません。Javaで数値解析をするのは初めてなのでどこが足りないのか、どこを直したら動くのか教えてください
public class Kukei
{
static double f(double x)
{
// ここに任意の被積分関数を記述
double y = Math.exp(- x * x / 2) / Math.sqrt(2.0 * Math.PI);
return y;
}
public static void main(String[] args)
{
double a = - 1.0, b = 1.0; // 積分範囲
int n = 10; // 区間分割数

double suti= (n-0.68269)/(0.68269*100);

for(int j=0; j<n; j++){
double h = (b - a) / (double)n; // 分割幅
double s = 0.0;
n=n;

for (int i=0; i < n; i++)
{
s += f(a + i * h);
}
s *= h;

System.out.println("区間分割数 =" + n);
System.out.println("矩形法による計算値 =" + s);
System.out.println("矩形法による計算誤差 =" +suti+"\n");
}
}
}

A 回答 (1件)

単純に「まったくわからない」と書いてますが, より具体的には「どこが (どのように) わからない」のですか? たとえば, 「矩形法が分からない」とか「矩形法はわかるけど Java が分からない」など, いろいろ考えられますよね.



そして, ここに挙げられているプログラムは何を意図したものであり, その中の各変数やメソッドは何を意味しているのですか?

「どこが足りないのか、どこを直したら動くのか」と書いているということは「何か足りないものがある」「何か動作がおかしいところがある」と想定しているんですよね? そこには当然何かしら理由があるはずですよね? では, その「理由」とはなんですか?

この回答への補足

つーか回答してくる時間早いなあーーーーー!!!

補足日時:2010/12/22 18:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報