C++:使用升压计算简单的定积分
C++: Using boost to calculate simple definite integrals
有人知道如何使用 Boost 求解简单的定积分吗?
例如 -x^2 + 1 从 -1 到 1?
我尝试阅读提升文档,但我似乎无法弄清楚如何正确传递该函数。
谢谢
编辑:到目前为止我的尝试
using namespace boost::math;
typename function_type; // this is probably wrong
function_type f // and this
{
return -x*x+1;
};
int main(int, char**)
{
const double val =
integral(0.0,
1,
0.001,
f); // my question is, what do I put in here? How do I format f.
}
首先要观察的是,您展示的 Boost 库实际上没有计算积分的函数。这可能会让你走上错误的轨道。
该库用于多精度浮点运算,其中一个示例恰好是积分的简单近似,每个黎曼。这个例子的要点是黎曼积分非常简单,你可以用它们来演示一个花哨的库。
在您的情况下,您甚至不需要费心传递函数。你可以直接写出黎曼方法替换-x^2 + 1
。
也就是说,将其作为参数传递的典型C++方法是 [](double x) { return -x*x+1.0;}
.这是一个未命名的函数或 lambda。它不需要自己的名称,因为参数已经有一个名称。
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- C++和Lua之间的简单数学计算不同
- 使用 Prim 算法计算最小生成树:如何使其简单?
- 初学者C++ - 做一些简单的计算
- 简单的多播应用程序无法在同一网络上的不同计算机上运行
- 我写了这个简单的代码,应该计算一系列数组元素的最高数量,但结果很奇怪
- 对于我扩展此程序来计算最高10x10矩阵的倒数的最简单方法是什么
- C++:使用升压计算简单的定积分
- 计算简单数学表达式的函数的实现.(C++)
- 有没有一种简单的方法来计算库中记录的函数
- 我正在尝试编写一个简单的计算程序,但答案一直返回为 0
- 简单的计算导致0
- 一个简单的C 功能,在不同的计算机上具有不同的答案
- 如何达到简单循环的AVX计算吞吐量
- c++:旋转锁或互斥对象比较(简单计算)
- 让GPU做计算的简单方法
- 如何计算简单搜索的复杂性
- 对根据时间和分钟计算通话成本的简单家庭作业程序感到沮丧
- C++ - 简单的形状面积计算器返回错误的计算
- C++:使用超类和子类,简单计算面积的值返回3.47668e-310,无论我输入什么来计算