我想编写一个函数,可以在范围(a,b)上计算我的this.
ReactDOM.
这是我发现的,但我是c ++的新手,我无法使用指针 如果有其他方式,请帮助我。
答案 0 :(得分:1)
您找到的那个功能允许您集成您想要的任何功能,并且该功能是积分方法的第一个参数。你可以删除第一个参数('double(* f)(double x)'),这是因为你想要整合的函数是已知的(e ^ cos(x)),所以你不需要给它作为一个论点。然后,在for循环中,您只需将de f函数替换为e ^ cos(x)。该方法如下所示:
'\n'
答案 1 :(得分:1)
#include <functional>
template<typename T>
T integral(const std::function<T(T)>& f, T a, T b, int n) {
auto step = (b - a) / n; // width of each small rectangle
auto area = static_cast<T>(0); // signed area
for (auto i = 0; i < n; i++)
{
// sum up each small rectangle
area += f(a + (i + static_cast<T>( 0.5)) * step) * step;
}
return area;
}
int main()
{
std::function<float(float)> f_sine = [](float in) { return sin(in); };
auto two = integral(f_sine, 0.0f, 3.14f, 20);
return 0;
}
这将是$ 3.50