У меня есть массивы t_array
иточек x и y. Назовем M = trapz(dMdt_array, t_array)
. Я хочу найти, при каком значении t интеграл от dM/dt vs t равен некоторому значению - скажем 0.05*M
. В python есть ли хороший способ сделать это?Найти, когда интеграл интерполированной функции равен определенному значению (python)
Я думал что-то вроде F = interp1d(t_array, dMdt_array)
. Тогда какой-то корень найдет, где интеграл от F равен 0,05 * M. Могу ли я сделать это в python?
Похоже, что 'solve' будет искать корни вне пределов' x' по умолчанию, поэтому, если это нежелательно, может быть хорошей идеей использовать '.solve (0.05 * M, extrapolate = False)'. –
hmm, когда я делаю 'из scipy import интерполировать' и' interpolate.CubicSpline (x, y) .antiderivative(). Solve (0.05 * M) ', я получаю объект AttributeError: 'module' не имеет атрибута 'CubicSpline'' , – Jamie
@ Джейми да, CubicSpline является новым в SciPy 0.17 –