我正在尝试将C#中的梯形规则实现为一个函数:
Int_a^b f(x) = (b-a) * [f(a) + f(b)] / 2
c#中有一项功能可以让我这样编写功能吗?
double integrate(double b, double a, function f)
{
return (b-a) * (f(a) + f(b)) / 2;
}
在哪里f
可以是在另一个函数内定义的任何多项式表达式,例如:
double f (double x)
{
return x*x + 2*x;
}
在您的情况下,您想通过Func<double, double>
。像这样
double integrate(double b, double a, Func<double, double> f)
{
return (b-a) * (f(a) + f(b)) / 2;
}
double integrand = integrate(0, 2 * Math.PI, x => x*x + 2*x);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句