问题标签 [simpsons-rule]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
193 浏览

matlab - 在matlab中将梯形重写为辛普森规则

我正在尝试编写一个matlab程序来通过梯形和辛普森规则计算积分。梯形的程序如下:

现在辛普森一家的统治我真的无法绕开。我知道它非常相似,但我似乎无法弄清楚。

这是我的辛普森代码:

然而,使用它给出了一个比梯形误差更大的积分的答案,我认为它不应该。

任何帮助,将不胜感激

0 投票
1 回答
3215 浏览

matlab - MATLAB:辛普森的 1/3 法则

我已经为辛普森规则创建了一个代码,但我认为我的函数错了。我没有其他来源可以参考(或者它们太难理解了)。这是我的代码:

谁能帮忙看看哪里错了?

0 投票
1 回答
159 浏览

python - 辛普森法则永远在 Python 中运行

我编写了以下函数,用于使用辛普森规则估计函数的定积分:

但是,似乎每当我尝试使用此功能时,都需要很长时间才能产生输出。有没有办法可以重写这段代码以减少时间?

0 投票
1 回答
55 浏览

excel - 关于在Excel中输入公式的问题

我正在为辛普森规则创建一个工作表,我想让它灵活地适应不同的方程。

所以我有一个只用于端点、步长和公式的单元格,然后是一个用于我的计算的表格。

我知道我可以直接将我想要的公式输入到表格中。但是有没有办法做到这一点,当我改变公式单元格时,值也会改变?

例如:

例子

因此,如果我将 f(x) 单元格更改为 x,它应该在 f(x) 下给我 (0, 1, ..., 10) 用于表格。

此外,有没有办法停止自动填充乘数列?我知道第一个和最后一个条目应该是1,中间应该是(4, 2, 4, 2, ..., 4)的序列。有没有办法自动化这个?

0 投票
1 回答
1405 浏览

python - 如何使用 Scipy 集成辛普森一家规则来绘制一维图

我需要一些帮助,我有一个任务是使用辛普森一家规则对函数的集成进行编码。我需要使用内置的 scipy integrationsimps 函数来绘制一维图。我只是不知道从哪里开始。我想我必须为对应于 x 的每个值的函数获取 y 的每个值的列表/数组:例如

如果我的函数是 x^2,那么当 x 为 0 时,y 为 0,x 为 1,y 为 1,x 为 2,y 为 4,依此类推,直到一个巨大的限制......

然后使用 integration.simps(y,x) 其中 y 是所有 y 值,如上所示,x 是所有相应的 x 值。

但是,我根本无法让它工作......有没有人有任何使用integrate.simps(y,x)的x ^ 2函数的图表示例?

这是我到目前为止所得到的:

0 投票
1 回答
28 浏览

gams-math - 在 GAMS 中使用辛普森积分规则的问题

我使用 GAMS 编写了一个简单的代码,它使用梯形积分确定滑翔机的最大范围。我想用 SImpson 的集成重新创建相同的程序,但是,我无法理解结果。

这是具有梯形规则的功能代码:

这是使用辛普森的有缺陷的:

我所做的就是照着书

Practical Methods for Optimal Control and Estimation Using Nonlinear Programming在第 141 和 142 页之间。由于我的控制是未知的,因此 y_hat 只是 y_k+1 和 y_k 之和的平均值,因此,我在这些点定义了变量 D 和 L,并且然后计算 y_k+1 - y_k 在第 141 页中的建议方式。

但是,现在我看到的不是第一个代码中显示的变量,而是某种奇怪的循环。这是我使用梯形规则的正确答案, 这是我使用辛普森方法的有缺陷的解决方案

所有关于我的错误或错误的地方的建议都非常受欢迎。谢谢阅读。

0 投票
1 回答
926 浏览

fortran - 我需要对我的 Simpson's Rule Fortran 代码进行哪些更改才能获得正确的结果?

我正在尝试实现一段代码,通过使用Simpson's Rule.

!(file:///D:/1-%20TUD/Semester%201/Numerical%20Methods%20BIWO-04/Lectures/simpson's%20rule.JPG)

我已经使用 MatchCAD 进行了尝试,并且得到了正确的结果函数:f(x)= x**5+(x-2)*sin(x)+(x-1)

当我输入a=-1并且我应该b=1得到m=20Integration=-1.398

当我输入a=-1并且我应该b=1得到m=40Integration=-1.398

但不知何故我得到了整合=7015869.0

0 投票
1 回答
1233 浏览

fortran - 使用 Fortran 90 进行数值积分

我正在尝试使用辛普森规则来评估从 -1 到 1 区间内 sqrt(1-x^2) 的积分。但是,在我开发的代码中,由变量“s”表示的总和并没有完全不会收敛到 pi 超过 2。我是 fortran 和一般编程的绝对新手,所以请多多包涵。我究竟做错了什么?

这是它生成的输出的链接:https ://pastebin.com/mW06Z6Lq

由于这个积分只是半径为 1 的圆面积的一半,它应该收敛到 pi 超过 2,但它大大超过了这个值。我考虑过将步长缩小以提高精度,但这不是问题,因为当我尝试这样做时,它甚至超过了预期值。

0 投票
1 回答
48 浏览

julia - 尝试将复杂函数传递给辛普森规则时出现加载错误

我已经编写了一种通过复合辛普森规则逼近定积分的方法。

对于“简单”功能,例如e^(-x^2),该simpson功能有效。

但是,对于更复杂的功能f(x)

其中generator(θ, plotsol)是一个函数,它以百分比表示的缺陷 θ 和一个布尔值plotsol(0 或 1)确定是否应绘制发电机,并返回一个矢量,其中包含发电机中某些点的磁化强度。

当我尝试通过运行以下代码来计算积分时

我遇到错误MethodError: no method matching generator(::Float64)。对于表达式的轻微变体,f(x)我会遇到不同的错误,例如DimensionMismatch("array could not be broadcast to match destination")InexactError: Bool(33.75)。最后,我认为错误的原因归结为我无法弄清楚如何正确输入被积函数的表达式f(x)。有人可以帮我弄清楚如何f(x)正确输入吗?如果我的问题有什么不清楚的地方,请告诉我。

0 投票
2 回答
846 浏览

python - 辛普森规则整合负区

simpson's rulescipy.integrate库中使用时遇到问题。即使所有数字都是正数并且 x 轴上的值从左到右增加,有时计算的面积也是负数。例如:

返回的结果simps(y,x)-226271544.06562585。为什么是负面的?这仅在某些情况下发生,而在其他情况下它工作正常。例如:

本例中的面积为正83849670.99112588

这是什么原因?