- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 Python 2.7.2 中实现梯形规则。我编写了以下函数:
def trapezoidal(f, a, b, n):
h = float(b - a) / n
s = 0.0
s += h * f(a)
for i in range(1, n):
s += 2.0 * h * f(a + i*h)
s += h * f(b)
return s
但是,f(lambda x:x**2, 5, 10, 100) 返回 583.333(它应该返回 291.667),很明显我的脚本有问题。虽然我无法发现它。
最佳答案
你的差距是原来的两倍。事实上,Trapezoidal Rule正如数学课上所教的那样,会使用像这样的增量
s += h * (f(a + i*h) + f(a + (i-1)*h))/2.0
(f(a + i*h) + f(a + (i-1)*h))/2.0
是对网格上两个相邻点的函数高度进行平均。
由于每两个相邻的梯形都有一条公共(public)边,因此上面的公式需要对函数进行两次必要的计算。
一个更有效的实现(更接近您发布的),将结合 for-loop
相邻迭代的常用术语:
f(a + i*h)/2.0 + f(a + i*h)/2.0 = f(a + i*h)
到达:
def trapezoidal(f, a, b, n):
h = float(b - a) / n
s = 0.0
s += f(a)/2.0
for i in range(1, n):
s += f(a + i*h)
s += f(b)/2.0
return s * h
print( trapezoidal(lambda x:x**2, 5, 10, 100))
产生
291.66875
关于python - Python 中的梯形法则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146540/
当你进入页面http://m.google.com使用 Mobile Safari,您会在页面顶部看到漂亮的栏。 我想像那样画一些梯形(美国:梯形),但我不知道怎么画。我应该使用 css3 3d 转换
它基本上是一个 flex 的 div: 那么可以只使用 CSS 而不使用图像吗? 最佳答案 嗯...我是这个形状最大的怀疑者,但它似乎是可能的 O_o Demo HTML CSS .shape
我希望在 Java 中创建一个星号梯形,就像下面使用嵌套 for 循环的模式一样。 ** **** ******** 我知道如何打印两个、四个然后六个星号,如下面的代码所示。但是,我不知道如何创建两个
关于 Python 中实时数据的数值积分(梯形)的问题- 背景:实时测量一个平均速度为 100 米/分钟的移动物体,我每 100 毫秒采样一次,持续 60 秒 - 因此在一分钟结束时,我将获得 600
我很难解决这个问题: 我想用 css 做这个: 如图:两个圆 Angular 的飞人(重要!),一个带文字的飞人,一个带图片,或者图标的飞人,有图标的飞人尺寸可以细一些,但是两个飞人必须是大小相同。
我想创建一个响应式梯形形状,它可以是 CSS、SVG 或 Canvas。 我已经能够创建三 Angular 形,但不能创建响应式的梯形。 div { width: 0; height: 0;
这个问题在这里已经有了答案: css skew element and get inner rounded border top (1 个回答) 关闭 4 年前。 我想用 CSS 和 HTML 自定
这是 css 在 id 上的代码工作正常: border-bottom: 100px solid #0000ff80; border-right: 50px solid transparent; he
我在使用 CSS 时遇到了一个小问题。我需要一个梯形 div,它的左上角( Angular 大于 90 度的那个)是圆 Angular 的。我已经知道了: HTML: CSS: .tr
我在使用 CSS 时遇到了一个小问题。我需要一个梯形 div,它的左上角( Angular 大于 90 度的那个)是圆 Angular 的。我已经知道了: HTML: CSS: .tr
我有这个带有伪元素的形状: https://jsfiddle.net/6gf1m3j5/ body { margin: 0; background:#ccc; } #octagon-l
我在使用 CSS 时遇到了一个小问题。我需要一个梯形 div,它的左上角( Angular 大于 90 度的那个)是圆 Angular 的。我已经知道了: HTML: CSS: .tr
我怎样才能像这里的 Tidal 一样制作一个旋转的横幅 我试过制作梯形并根据 http://browniefed.com/blog/the-shapes-of-react-native/ 将其旋转 4
我正在使用 three.js 制作一个小动画,其中有一些基本的 3D 模型,其中一个我正在努力处理的是“梯形 ”。 到目前为止,我只能在 THREE.CylinderGeometry 的帮助下创建截顶
我正在使用 three.js 制作一个小动画,其中有一些基本的 3D 模型,其中一个我正在努力处理的是“梯形 ”。 到目前为止,我只能在 THREE.CylinderGeometry 的帮助下创建截顶
我是一名优秀的程序员,十分优秀!