b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

变步长复化梯形公式龙贝格算法贝格变

电脑杂谈  发布时间:2021-04-26 01:00:52  来源:网络整理

数字积分

有些复杂的功能,或者有些简单的功能,但是找不到原始功能。在这种情况下,我们可以使用一些方法来近似积分值。

这里有三个近似的正交公式

数值积分 excel

这里我们介绍可变步长的复杂梯形算法和Romberg算法

可变步长复杂梯形算法

基本原理是使用梯形公式来计算正交区间中的积分。如果精度不够,我们将间隔长度分成两半,进行更详细的描述,然后重复计算。直到此计算结果与上一次计算的结果之间的差达到精度为止。

数值积分 excel

可变步长复数梯形公式

double VariableStepSize(double (*f)(double),double a,double b,double e)
{//f为求积函数,a和b为求积区间,e是精确要求
    long long i,times=1;//用来记录增加节点的个数
    double ans,t,sum;
    ans=(f(a)+f(b))*(b-a)/2;//利用梯形公式粗略计算积分
    double numerator,denominator=1;
    do//至少循环一次
    {
        t=ans;
//        printf("t=%.7lf\n",t);
        sum=0;
        numerator=1;    denominator*=2;
        for(i=0;i=0);//满足精度要求以后退出
    return ans;
}

Romberg算法

Romberg算法利用梯形公式,Simpson公式和Curtes公式之间的关系逐渐提高精度

数值积分 excel

excel 数值_数值 excel_数值积分 excel

Romberg算法

double Longberg(double (*f)(double),double a,double b,double e)
{//f为求积函数,a和b为求积区间,e是精确要求
    int i,j,k=1;//每次递推都可以推导一行
    int times=1;
    double sum;
    double table[10][10]={0};//递推的二维矩阵,简单地固定位10*10
    double coef[10][2]={0};//用来保存系数,比如说4/3,16/15
    double LastLeft,LastRight;//记录推导一行中最后两个数,用以判断精度
    double numerator,denominator=1;//分子分母
    table[0][0]=( f(a)+f(b)*(b-a) )/2;    numerator=4;
    for(i=1;i<10;i++)
    {
        coef[i][0]=numerator/(numerator-1);//前一个系数,比如说4/3
        coef[i][1]=(-1)/(numerator-1);//后一个系数,比如说-1/3
        numerator*=4;
    }//End for-i
    do
    {
        sum=0;
        numerator=1;    denominator*=2;
        for(i=0;i=0);//满足精度则退出
    return LastRight;
}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-370930-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...