首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >辛普森规则math.net数字的实现

辛普森规则math.net数字的实现
EN

Stack Overflow用户
提问于 2014-10-17 06:31:03
回答 1查看 2.2K关注 0票数 0

我正在尝试使用math.net数字库来实现辛普森规则。我想使用的方法有四个参数,一个Func (函数指针)、intervalBegin、intervalEnd和partitionNumbers。目前我正在使用Math.Sin测试这个方法,但是有人能帮助我理解如何实现这个Func吗?

代码语言:javascript
复制
var test = MathNet.Numerics.Integration.SimpsonRule.IntegrateComposite(Math.Sin, 1, 4, 20);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-17 06:50:19

附加材料:图片直接取自数学很有趣。你可以拥有任何数学函数,就像下面一个字符所表示的那样。

积分计算函数绘制的线与X轴之间的面积。

我说传递到Simpson集成中的函数并不重要,因为只要它符合"1 number in,1 number out“格式,任何函数都可以使用。

附加物质的末端l.

辛普森公式是一个积分,这意味着它需要一个数学函数来计算。下面是simpson积分的粗略公式(使用你传递的数字作为参数和随机函数),如果您感兴趣,如果不跳过这部分的话。

代码语言:javascript
复制
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)

代码语言:javascript
复制
public double anyFunction(double number){ 
   double result = [calculations];
   return calculations;

}

你的电话可能是这样的:

代码语言:javascript
复制
MathNet.Numerics.Integration.SimpsonRule.IntegrateComposite(anyFunction, 1, 4, 20);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26419163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档