LINUX.ORG.RU

экстраполяция табличных данных, python

 , экстраполяция


1

1

Имеется набор графиков, что-то вроде такого http://pix.academ.info/images/img/2016/10/14/dcdce5d8ea58a26d53175d076e9f12d5.png. Все функции с увеличением x убывают примерно по 1-log(x). Мне необходимо экстраполировать (и интерполировать) фиолетовые графики в правую сторону. Как это сделать не подбирая коэффициенты руками? Желательно, оставаясь в рамках [num,sci]py. Пробовал использовать scipy.interpolate.UnivariateSpline пятого порядка, но он вне области загибается совсем не туда куда надо.

★★★★★

Последнее исправление: thunar (всего исправлений: 3)

У тебя есть просто картинки или есть экспериментальные точки?

Если последнее, то вот так можно:

import scipy
import scipy.interpolate

data_y = scipy.loadtxt(stress_y)
data_u = scipy.loadtxt(stress_u)
x, y = data_y[:, 0], data_y[:, 1]
s_y = scipy.interpolate.interp1d(x, y)

print(s_y(new_value))

pol01
()

Ну так у тебя хвосты это «прямые» в выбранном масштабе. Следи за производной, и выбрав участок на «хвосте» где производная становиться практически константой строй обычную линейную регрессию...

psv1967 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.