C中的数值积分

时间:2017-07-12 18:15:54

标签: integration

我编写了一个涉及大量计算的程序,最后我必须整合这个标记为'A [i]'的最终函数,其中A [i] = B * E [i]。 我试图直接整合它;不使用任何方法。我的积分上限E [n]是固定的。但是在每次迭代中,我希望我的下限发生变化。我希望它是E的下一个值。我把这个集成放在'j'循环中。 'n'是我所做的分割数,'h'是每个分区的宽度,就像在梯形规则中完成的那样。我在程序中定义了n和h。

所以,我的整合看起来像这样:

double s=0;
for(i=0; i<n; i++)
{
A[i]=B*E[i];        
if(i==(n-1) || (i==0))
                s=s+A[i];
            else
                s=s+2*A[i];
  }

      for(j=1;j<99;j++)
        {   
             s=s-A[j]-A[j+1];
         I[j]=s*(h/2);
        }

我[j]是我最后的整合。

这里,为了改变每次迭代的下限,我已经消除了前一个分区E,因为随着每次增加j,我进一步移动。 对我来说,这看起来是一个正确的逻辑,但我的图表情节并不是我希望它的样子。它给了我很多不变的价值。得到我想要的东西还有其他逻辑吗?我可以考虑添加,而不是减去,但我不太确定如何提出它。

0 个答案:

没有答案