Согласно 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[:] - вектор с параметрами начального предположения)? И опять же, как я могу построить получившуюся кривую?

Я все еще пытаюсь понять, поэтому любое предложение действительно приветствуется.

0
Py-ser 27 Мар 2013 в 14:46

1 ответ

Лучший ответ

Я решил следующим образом: строковый код, указанный в вопросе, был правильным. Затем я сохранил наиболее подходящие параметры в другом векторе:

p = out_param[0]

Затем я использовал функцию перекоса, чтобы получить новые (подогнанные) значения y_values:

new_y_val = skew(x_values, p[0], p[1], p[2])

И, наконец, я могу построить график с этими новыми векторами:

plot(time1, pl)
0
Py-ser 27 Мар 2013 в 17:36