【问题标题】:C - definite integral Quadrature ruleC - 定积分求积法则
【发布时间】:2011-03-02 16:18:09
【问题描述】:

我希望能得到一点帮助。我需要在正交规则中创建简单的应用程序计数定积分,它在运行时作为参数给出。我从添加参数开始,但是当我在其中使用括号时,编译器不会编译我的应用程序。然后我被困在入门中,如何将参数作为一个整体传递给某些计算部分?

谢谢

编辑:

int x;
int i;
float sum=0;
double PI;

printf("Please enter the parts to divide the interval: ");
scanf("%d", &x);

for (i=1; i<x; i+=2){
    if (i%4==1)
        sum=sum+1./(double)i;
    else
        sum=sum-1./(double)i;
}
PI= 4*sum;
printf("The sum is %f\n", sum);
printf("Approximate value of PI is %f\n", PI);

【问题讨论】:

  • 向我们展示您的尝试。
  • 已编辑,我需要了解如何为某些输入近似积分
  • 尝试使用(float) 而不是(double)。或者将sum 声明为double

标签: c


【解决方案1】:

很难知道你在这里问什么。

您是否尝试使用不同阶数进行高斯或其他类型的正交方案?

您是否在弄清楚如何传递函数指针以供数值积分函数求值时遇到问题?

当您说您有编译器错误时,这表明您甚至还没有达到可以判断您的实现是否有效的地步。你对 C 了解多少?您应该阅读并消化错误消息,然后返回语言参考以查看您出错的地方,直到所有编译器错误都消失为止。

一旦你实现了这一点,乐趣就开始了:现在你必须考虑你的代码是否真的有效。

更新:我在您发布的代码中看不到任何正交。看起来像一个简单的欧拉或辛普森规则。

我会推荐类似“数字食谱”的东西:

http://eiffel.ps.uci.edu/cyu/p231C/LectureNotes/lecture10:integration/lecture10.pdf

【讨论】:

  • 我把我的简单代码放在这里,我寻求帮助,以防如何在 C 中概括应用程序,这个应用程序将根据参数近似给定函数,并取决于我选择多少间隔,它将有某种准确性。我寻求一些通用代码如何近似积分,因为到目前为止对我来说是一个很大的障碍。就像 PI 一样,我会得到越来越好的结果,限制在 3,14159265...
  • 阅读我发布的参考资料。它可以完成,但不是你写的。
  • 谢谢你的链接,遗憾的是没有正交(或矩形)方法,我知道它不是最好的......但我会更进一步。
  • 我觉得写起来很容易。那就是该链接将帮助您。
猜你喜欢
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2012-06-24
  • 2015-01-23
  • 2016-12-13
  • 2021-01-31
相关资源
最近更新 更多