gpt4 book ai didi

java - 与黎曼和中点 Java 集成

转载 作者:搜寻专家 更新时间:2023-11-01 02:58:52 25 4
gpt4 key购买 nike

我一直在 Java 中寻找黎曼和(中点)。我的问题是,我总是得到一个错误的答案,那应该是。

例如:

a = -5, b = 12, n = 40, Result should be: 608.9107812499999 (But I get: 535.0809101562498)

a = -5, b = 12, n = 200, Result should be: 609.1564312500013 (But I get: 555.8486222812485)

Function is: 𝑥^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)

);
}

感谢回复!

最佳答案

试试这个。另外,是黎曼,不是雷曼。最后,n 应该是整数,而不是 double 。

您错过了将 first_mid_p 更新到正确位置的部分(也称为“+ i* 宽度”部分)

Rextester 链接:http://rextester.com/FMI50088

public static double intRiemann(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) + i * width;
sum = sum + (first_mid_p*first_mid_p-first_mid_p+3);
}

return sum * width;
}


public static void main(String[] args){
System.out.println( intRiemann(-5.0,12.0,40.0));
}

关于java - 与黎曼和中点 Java 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42580085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com