C 中点积分优化

C 中点积分优化,c,recursion,optimization,integration,C,Recursion,Optimization,Integration,我正在用C语言中的中点积分近似积分,并试图优化用给定的n近似积分所需的时间。每次调用函数时,我在积分中使用递归将输入n分成两个(因此,两个分割的函数中的一个取下界和中点,另一个取中点和上界作为输入),直到上界和下界之差变为1。当差值为1时,我得到f(x)值并将所有值相加。代码如下所示: 双积分(功能、量程、下限、上限) 如果(上-下==1) f(x) 其他的 集成(功能、范围、下限、中点)+ 集成(功能、范围、中点、上限) 从第一次直觉开始,我就认为如果每次调用函数时将递归划分为四个(而不是两

我正在用C语言中的中点积分近似积分,并试图优化用给定的n近似积分所需的时间。每次调用函数时,我在积分中使用递归将输入n分成两个(因此,两个分割的函数中的一个取下界和中点,另一个取中点和上界作为输入),直到上界和下界之差变为1。当差值为1时,我得到f(x)值并将所有值相加。代码如下所示:

双积分(功能、量程、下限、上限)
如果(上-下==1)
f(x)
其他的
集成(功能、范围、下限、中点)+
集成(功能、范围、中点、上限)
从第一次直觉开始,我就认为如果每次调用函数时将递归划分为四个(而不是两个),那么使用多个处理器会更快,但这只会减慢近似速度。现在我带着两个递归返回,不知道该去哪里。我尝试使用最少的操作次数


任何相关文件或帮助将不胜感激

因为只有当
上下==1
时才调用
f
,所以可以像这样使用迭代

for (x = lower; x < upper; x++)
for(x=lower;x

您没有显示
x
上部
下部
之间的特定关系,因此可能需要对其进行调整,但您明白了。

这不是您的代码;您永远不会计算
中点
。它从不返回任何东西。我写了许多不太重要的行,代码只是为了展示这个想法。好吧,我发现迭代比递归快。还有可能的优化吗?迭代比糟糕的递归更快。至少根据我的递归,迭代更快。