次の関数をできるだけ正確にする(速度は目的ではありません)というタスクがあります。floatと中央の四角形のメソッドを使用する必要があります。何か提案していただけますか?実際には、浮動小数点の丸め誤差を最小限に抑えることがすべてだと思います。それが私がやったことです:
typedef float T;
T integrate(T left, T right, long N, T (*func)(T)) {
long i = 0;
T result = 0.0;
T interval = right - left;
for(i = 0; i < N; i++) {
result += func(left + interval * (i + 0.5) / N) * interval / N;
}
return result;
}