電子書籍の厳選無料作品が豊富!

下記の矩形法の計算値を求めるプログラムで、区間分割数nを10から100まで10ずつ増やして計算値を求めるプログラムを作成したいのですが、どのようにしたらいいのか分かりません。Java初心者なのでJavaプログラムが詳しい人は至急ご連絡をお願いします。



*ちなみにこの矩形法プログラムのの計算誤差も分かる人はお願いしたいのですが・・・・・・
 計算誤差の求め方は
   計算誤差=(計算値ー真値)/真値×100(%) (真値=0.68269とする)


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 = 100; // 区間分割数
double h = (b - a) / (double)n; // 分割幅
double s = 0.0;
for (int i=0; i < n; i++)
{
s += f(a + i * h);
}
s *= h;
System.out.println("区間分割数 =" + n);
System.out.println("矩形法による計算値 =" + s);
}
}

A 回答 (1件)

n が 10~100 で 10きざみでループするなら


for (n=10;n<=100;n+=10){
}
でループする必要のある部分を囲ってあげればいいんじゃないですか?
    • good
    • 0
この回答へのお礼

ありがとうございました。おかげでうまく動きました。

お礼日時:2011/01/11 22:01

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