2015-05-29 4 views
0

Я хотел бы сделать график, иллюстрирующий формулу Simpson/Trapezoidal для простой функции (y = x^2). Функции simps и trapz из scipy полезны для расчета площади, но я также хотел бы переопределить трапеции/параболы на исходной кривой. Мне было интересно, существует ли какая-либо существующая рутина для этого, если нет, будет полезно получить некоторые идеи о том, как сделать эти графики.Как проиллюстрировать правила Simpson/Trapezoidal в python?

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) 
+1

Нет стандартных подпрограмм для построения того, что вы хотите. Попробуйте сами сделать сюжеты, и если у вас возникнут проблемы, может быть, кто-то здесь поможет. Как бы то ни было, вы просто говорите: «У меня есть эта идея, напишите мне код, чтобы сделать это». – tom10

ответ

1

Я предлагаю Matplotlib, с функциями, как fill_between,

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() 

Где я только сделал приближение ловушки, вам нужно определить функцию для построения Симпсоны исключает приближение для заполните между

Смежные вопросы