2015-07-08 6 views
1

Я хотел бы сделать численное интегрирование для заданного набора выборок.Числовое интегрирование для интервалов с неравномерным интервалом, Python

Пусть говорят, что я x неравномерно расположенные участки и y = f(x) функция Я хочу интегрировать.

x  y=f(x) 
    0.1  10.5 
    1.2  2.0 
    3.7  11.0 
    7.0  4.0 

Теперь я могу использовать Simpon's rule from scipy.integrate таким образом?

from scipy.integrate import simps 

I = simps(y,x) 

хотя мои x значения неравномерно разнесены?

+0

Я думаю, что вы просто есть 'y' и' x' аргументы вспять, он должен быть 'импсон (у, х)', в противном случае , он должен работать. Не так ли? – tom10

+0

@ tom10: Извините, это была опечатка! Так ли это работает? – ThePredator

+0

То, что Том сказал выше, должен быть до шестнадцатеричного. Но с правилом Симпсона у вас должно быть даже количество интервалов для его работы, и они должны быть равномерно распределены. Поскольку он вычисляет интеграл с помощью парабол. –

ответ

1

Для численного интегрирования, описанную выше процедуру можно проследить, как только мы имеем значения как x и функции y=f(x).

Можно также использовать правило трапеции из numpy как:

result = np.trapz(y,x)