哈代法则是牛顿-科特斯公式的扩展。考虑一个函数f(x),在点上列出等距以至于
鉴于以下输入
1.一个函数 ,必须计算其被积函数。
2. 上下限
可以通过逼近被积函数 f(x) 推导出哈代法则
例子 :
任务是使用哈代法则找到函数的被积函数
上限,b = 6,下限 a = 0。
方法 :
哈代法则是一种数值积分技术,用于寻找积分的近似值。
是 f(x) 在它们各自的 x 间隔处的值。
为了对区间 (a, b) 中的任何函数f(x) 进行积分,请按照以下步骤进行:
1.n=6的值,即区间划分的部分数。
2.计算宽度,h = (ba)/6
3.计算x0到x6的值如下
考虑y = f(x)。现在找到值对于相应的值。
4. 代入以上所有哈代法则中的值来计算积分值。
下面是上述方法的实现:
// C program to implement Hardy's Rule
// on the given function
#include
#include
// In order to represent the implementation,
// a function f(x) = 1/(1 + x) is considered
// in this program
// Function to return the value of f(x)
// for the given value of x
float y(float x)
{
return (1 / (1 + x));
}
// Function to computes the integrand of y
// at the given intervals of x with
// step size h and the initial limit a
// and final limit b
float Hardyrule(float a, float b)
{
// Number of intervals
int n = 6;
int h;
// Computing the step size
h = ((b - a) / n);
float sum = 0;
// Substituing a = 0, b = 4 and h = 1
float hl = (28* y(a) + 162 * y(a + h)
+ 220 * y(a + 3 * h)
+ 162* y(a + 5 * h)
+28* y(a + 6*h))*h/100
;
sum = sum + hl;
return sum;
}
// Driver code
int main()
{
float lowlimit = 0;
float upplimit = 6;
printf("f(x) = %.4f",
Hardyrule(0, 6));
return 0;
}
输出:
f(x) = 1.9500