Согласно this, как насчет того, чтобы наложить подобранную кривую поверх точек данных? ? Следует ли мне снова определить функцию подгонки?
Метод Leastsq не имеет документации и примеров, и у меня есть некоторые проблемы с пониманием необходимых ему аргументов.
В соответствии с этим, если я определю:
def optm(l, x, y):
return skew(x, l[0], l[1], l[2]) - y
Тогда правильно ли вписываться следующим образом:
out_param = leastsq(optm, v1[:], args = (x_values, y_values), maxfev = 100000, full_output = 1)
(где v1[:]
- вектор с параметрами начального предположения)? И опять же, как я могу построить получившуюся кривую?
Я все еще пытаюсь понять, поэтому любое предложение действительно приветствуется.
1 ответ
Я решил следующим образом: строковый код, указанный в вопросе, был правильным. Затем я сохранил наиболее подходящие параметры в другом векторе:
p = out_param[0]
Затем я использовал функцию перекоса, чтобы получить новые (подогнанные) значения y_values:
new_y_val = skew(x_values, p[0], p[1], p[2])
И, наконец, я могу построить график с этими новыми векторами:
plot(time1, pl)
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.