gpt4 book ai didi

C 语言的复合辛普森规则

转载 作者:行者123 更新时间:2023-11-30 20:02:15 25 4
gpt4 key购买 nike

我正在尝试用 C 语言编写复合辛普森法则。公式为:

enter image description here

哪里x_j=a+jh对于 j=0, 1, ..., n-1 , nh=(b-a)/n ;特别是x_0=ax_n=b .

由于某种原因,第一个和第二个循环具有相同的值。我检查了很多次,但似乎找不到我的错误。

#include <stdio.h>
#include <math.h>

float f(float);
float a;
float b;
float x;
float h;
int n;
int j;


a=0;
b=2;
n=8;
h = (n - j) / b;

float first;
float second;
int main() {


sum = (h / 3.0f) * (f(h) + f(n));

printf("%f\n", sum);

second = (4.0f) * h * f(a);
}
printf("second sum: %f\n",second );

sum = sum + first + second;
printf("%f\n", sum);
return 0;
}

答案应该在 3.1 左右(最终的值 sum )

最佳答案

您的部门可能不会达到您的预期:

(2 / 3) == 0

int 除以 int 将得到 int

使用浮点常量(2.0f/3.0f)

编辑:

您仍然遇到与其他 n/2 相同的问题。

打印 float 时应该使用%f:printf("first sum: %f\n",first);

The value of the integral is: 3.109337

关于C 语言的复合辛普森规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21424945/

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