我找到了Riemann Sum(Midpoint)的Java語言。我的問題是,我總是得到一個錯誤的答案,應該是。與Riemann Sum中點Java的集成
例如:
一個= -5,B = 12,N = 40,結果應該是:608.9107812499999(但是我得到:535.0809101562498)
一個= -5,B = 12 ,N = 200,結果應該是:609.1564312500013(但我得到:555.8486222812485)
功能是:^ 2 - + 3
這裏是我的代碼:
public static double intReiman(double a, double b, double n){
double width = (b - a)/n;
double sum = 0.0;
for (int i = 0; i <= n; i++) {
double first_mid_p=a + width/2.0;
sum = sum + (first_mid_p*first_mid_p-first_mid_p+3);
}
return sum * width;
}
public static void main(String[] args){
System.out.println(
intReiman(-5.0,12.0,40.0)
);
}
感謝您的回覆!
什麼是您要的功能計算積分? – DVT
您是否使用了調試器並確保所有步驟與您期望的每一步都相等?學習調試是學習編程的重要組成部分。 – yshavit
你沒有在你的循環中使用'i',你正在做的n次完全一樣的東西,它就像:(myThing)*(n + 1),所以它不是很有用 – azro