在具有固定常数离散的给定网格上与c ++进行数值积分

San*_*nkp 5 c++ algorithm math integration numerics

我有以下问题:

我的c ++代码可以计算两个函数

F1(I1,I2,I3,I4)

F2(J1,J2)

对于{i1,i2,i3,i4}的每一组,我得到一些f1值,对于{j1,j2}的每一组,我得到一些f2的值.

集合{i1,i2,i3,i4}和{j1,j2}在FIXED网格上给出,具有一些恒定的离散化步骤"h".

我需要用数学语言计算积分F3(x1,x3)=积分[f1(x1,x2,x3,x4)*f2(x3,x4)dx3 dx4]

简单求和不够好,因为f2有很多跳跃.

是否有一些c ++库可以进行这种集成?或者一些易于实现的算法(我对c ++并不擅长)

非常感谢

Joh*_*erg 3

如果您只有网格点处的值,并且没有关于曲线形式的进一步数学知识,那么除了简单的求和之外,没有什么更好的办法了。

除了更改网格或使用完全其他方法(例如http://en.wikipedia.org/wiki/Monte_Carlo_integration )之外,别无他法