我正在尝试使用math.net数字库来实现辛普森规则。我想使用的方法有四个参数,一个Func (函数指针)、intervalBegin、intervalEnd和partitionNumbers。目前我正在使用Math.Sin测试这个方法,但是有人能帮助我理解如何实现这个Func吗?
var test = MathNet.Numerics.Integration.SimpsonRule.IntegrateComposite(Math.Sin, 1, 4, 20);发布于 2014-10-17 06:50:19
附加材料:图片直接取自数学很有趣。你可以拥有任何数学函数,就像下面一个字符所表示的那样。

积分计算函数绘制的线与X轴之间的面积。
我说传递到Simpson集成中的函数并不重要,因为只要它符合"1 number in,1 number out“格式,任何函数都可以使用。
附加物质的末端l.
辛普森公式是一个积分,这意味着它需要一个数学函数来计算。下面是simpson积分的粗略公式(使用你传递的数字作为参数和随机函数),如果您感兴趣,如果不跳过这部分的话。
intervalBegin = 1;
intervalEnd = 4;
partitionNumbers = 20;
f(x) = 3x^2;
deltaX = (intervalEnd - intervalBegin) / partitionNumbers;
SimpsonsIntegration = deltaX/3 * (f(intervalBegin) + 4*f(intervalBegin + deltaX*1)+ 2*f(intervalBegin + deltaX*2)+ 4*f(intervalBegin + deltaX*3)+ 2*f(intervalBegin + deltaX*4).....+4*f(intervalBegin + deltaX*19) +f(intervalEnd);Simpsons积分中的函数是任何接受一个数值参数并返回一个的函数。(它可能是特定类型的,如float或double)
public double anyFunction(double number){
double result = [calculations];
return calculations;
}你的电话可能是这样的:
MathNet.Numerics.Integration.SimpsonRule.IntegrateComposite(anyFunction, 1, 4, 20);https://stackoverflow.com/questions/26419163
复制相似问题