midpnt.cpp

来自「提供了6种数值积分方法的c++代码实现: 1 梯形求积法(TRAPZD->」· C++ 代码 · 共 28 行

CPP
28
字号
void midpnt(double a, double b, double& s, int& n)
{
	double del,ddel,sum,x;
	int it,tnm,j;
    if (n == 1)
	{
        s = (b - a) * func2(0.5 * (a + b));
        it = 1;
	}
    else
	{
        it = (int)pow(3, n - 2);
        tnm = it;
        del = (b - a) / (3.0 * tnm);
        ddel = del + del;
        x = a + 0.5 * del;
        sum = 0.0;
        for (j = 1; j<=it; j++)
		{
            sum = sum + func2(x);
            x = x + ddel;
            sum = sum + func2(x);
            x = x + del;
        }
        s = (s + (b - a) * sum / tnm) / 3.0;
    }
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?