我完全坚持这一点,我不知道从哪里开始。
我必须在 C 中以 n 间隔在 a 和 b 之间集成一个函数。
我只有函数定义:
float funcintegrate(float (*f)(float x), float a, float b, int n);
我需要使用梯形方法。
编辑 :
谢谢大家的提示。我现在有了答案!
使用梯形方法(或规则)对区间 [a, b] 中的函数进行数值积分:
float funcintegrate(float (*f)(float x), float a, float b, int n);
int i;
double x;
double k = (b - a) / n;
double s = 0.5 * (f(a) + f(b));
for (i = 1; i < n; i++) {
x = a + k * i;
s = s + f(x);
}
return s * k;
}