| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 616 人关注过本帖
标题:求助simpson计算三次多项式积分
只看楼主 加入收藏
hattpre
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求助simpson计算三次多项式积分
为什么我的结果都是错的,我不知道哪里错了,谁能指点一下

#include<iostream>
#include<cmath>
using namespace std;

class Jifeng
{
      private:
              double a , b , c , d , uplimit , downlimit , precision;
      
      public:
             void set();
             double hanshu(double x);
             double simpson();
             void display();
};
#include<iostream>
#include<cmath>


void Jifeng::set()
{
    cout<<"输入所需积分的函数的4个系数,以回车区分"<<'\n';
    cin>>a>>b>>c>>d;
    if(a==0&&b==0&&c==0&&d==0)
    {
        cout<<"您输入的函数为空,请重新输入"<<'\n';
        set();
    }

    cout<<"输入所需积分的上限和下限,以回车区分"<<'\n';
    cin>>uplimit>>downlimit;

    cout<<"输入所需精度,以小数表示(如0.0001)"<<'\n';
    cin>>precision;

}

double Jifeng::hanshu(double x)
{

return a*x*x*x+b*x*x+c*x+d;
}

double Jifeng::simpson()
{
    double I2n=0 , h=uplimit-downlimit , T2n=h*(hanshu(uplimit)+hanshu(downlimit))/2 , In=T2n , Tn;
   
    for(int n=1;abs(I2n-In)>precision;n+=n,h/=2.0)
    {
   
        In=I2n;        Tn=T2n;
        
        double sigma=0;
        for(int k=0;k<n;k++)
        {
            sigma +=hanshu(a+(k+0.5)*h);
        }
        
               T2n=(Tn+h*sigma)/2.0;
            I2n=(4*T2n-Tn)/3.0;
    }
        
        return I2n;
   
   
}

void Jifeng::display()
{
    cout<<"您所求的积分是"<<simpson()<<'\n';
}

int main()
{
    Jifeng demo;
    demo.set();
    demo.display();
    demo.set();
   
}

搜索更多相关主题的帖子: 积分 多项式 simpson 
2009-11-22 20:07
hattpre
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-22
收藏
得分:0 
帮帮我吧,
2009-11-22 20:15
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:20 
应该是逻辑问题造成的,最好就是单步调试查看各个变量的情况。

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-11-22 23:19
快速回复:求助simpson计算三次多项式积分
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021995 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved