Функция подгонки шага с изменением местоположения шага с помощью scipy оптимизировать Curve_fitPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Функция подгонки шага с изменением местоположения шага с помощью scipy оптимизировать Curve_fit

Сообщение Гость »


Я пытаюсь подогнать данные x y, которые выглядят примерно так

x = np.linspace(-2, 2, 1000) а = 0,5 yl = np.ones_like(x[x = a]) * 0,4 + np.random.normal(0, 0,05, x[x >= a].shape[0]) y = np.concatenate((yl, yr)) plt.scatter(x, y, s=2, color='k')
Изображение


Я использую вариант ступенчатой ​​функции Хевисайда

def f(x, a, b): вернуть 0,5 * b * (np.sign(x - a)) и соответствие

popt, pcov = Curve_fit(f, x, y, p0=p) где p — некоторая начальная догадка. для любого pcurve_fit подходит только b, а не a например:

popt, pcov = Curve_fit(f, x, y, p0=[-1.0, 0]) мы получаем, что popt равен [-1., 0.20117665]

popt, pcov = Curve_fit(f, x, y, p0=[.5, 2]) мы получаем, что popt равен [.5, 0.79902]

popt, pcov = Curve_fit(f, x, y, p0=[1.5, -2]) мы получаем, что popt равен [1,5, 0,40128229]

почему кривая_fit не соответствует a?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»