midinf.cpp
来自「提供了6种数值积分方法的c++代码实现: 1 梯形求积法(TRAPZD->」· C++ 代码 · 共 36 行
CPP
36 行
double inf(double x)
{
return func(1 / x) / pow(x , 2);
}
void midinf(double aa, double bb, double& s, int n)
{
int ii,tnm,j;
double del,ddel,x,sum;
double b = 1.0 / aa;
double a = 1.0 / bb;
if (n == 1)
{
s = (b - a) * inf(0.5 * (a + b));
ii = 1;
}
else
{
ii = (int)pow(3 , n - 2);
tnm = ii;
del = (b - a) / (3.0 * tnm);
ddel = del + del;
x = a + 0.5 * del;
sum = 0.0;
for (j = 1; j<=ii; j++)
{
sum = sum + inf(x);
x = x + ddel;
sum = sum + inf(x);
x = x + del;
}
s = (s + (b - a) * sum / tnm) / 3.0;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?