如何在python中演示辛普森/梯形规则?
我想画一个图来说明简单函数(y=x^2)的辛普森/梯形积分公式。scipy的simps和trapz函数有助于计算面积,但我还想在原始曲线上过度绘制梯形/抛物线。我想知道是否有任何现有的惯例,如果没有,它将有助于获得一些关于如何制作这些情节的想法如何在python中演示辛普森/梯形规则?,python,scipy,Python,Scipy,我想画一个图来说明简单函数(y=x^2)的辛普森/梯形积分公式。scipy的simps和trapz函数有助于计算面积,但我还想在原始曲线上过度绘制梯形/抛物线。我想知道是否有任何现有的惯例,如果没有,它将有助于获得一些关于如何制作这些情节的想法 import numpy as np from scipy.integrate import simps, trapz x=np.arange(9) y=x**2 area=simps(y,x) print are
import numpy as np
from scipy.integrate import simps, trapz
x=np.arange(9)
y=x**2
area=simps(y,x)
print area
area=trapz(y,x)
print area
plot(y,x)
我建议使用matplotlib,它具有
fill\u等函数
import numpy as np
from scipy.integrate import simps, trapz
import matplotlib.pyplot as plt
def f(x):
return x**2
fig, ax = plt.subplots(1,1)
#Continous curve
x=np.arange(0,9,0.01)
y=f(x)
ax.plot(y,x, 'k-')
#Trapizium
xstep = np.arange(0,10,3)
area=trapz(y,x)
print area
ax.fill_between(f(xstep), 0, xstep)
#Simpsons
area=simps(y,x)
print area
#etc etc
plt.show()
如果我只做了陷阱近似,您需要定义一个函数来为fill between绘制simpsons规则近似没有用于绘制所需内容的标准例程。试着自己画情节,如果你有困难,也许这里有人会帮助你。事实上,你只是说“我有这个想法,为我写代码来实现它。”