みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

数値積分について

私が作成した下記の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");
}
}
}

投稿日時 - 2010-12-22 17:39:09

QNo.6400802

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

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

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

投稿日時 - 2010-12-22 18:10:38

補足

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

投稿日時 - 2010-12-22 18:14:08

あなたにオススメの質問