如何在 python 中使用多个输入参数执行 curve_fit(func,x,y)?

问题描述 投票:0回答:0

我想在 python 中使用带有 8 个独立参数(a、b、c、d、e、f、g、h)的 curve_fit

我从实验者那里得到的原始数据:

全局函数是正态分布。

mu和sigma后面有一个单独的模型方程:

mu(a,b,c,d,oc1,oc2,oc3)= a * b^oc1 * c^oc2 * d^oc3

sigma(e,f,g,h,oc1,oc2,oc3) = e * f^oc1 * g^oc2 * h^oc3

from scipy.optimize import curve_fit 
import numpy as np

def normalmodel(x, mu, sigma, oc1, oc2, oc3, a, b, c, d, e, f, g, h):

mu = a * b^oc1 * c^oc2 * d^oc3
sigma = e * f^oc1 * g^oc2 * h^oc3


   #normal distribution definition
    coefficient = 1 / math.sqrt(2 * math.pi * sigma**2)
    exponent = - (x - mu)**2 / (2 * sigma**2)

    return coefficient * math.exp(exponent)

xdata = np.column_stack((oc1, oc2, oc3))
ydata = np.column_stack((mean, std))

popt, pcov = curve_fit(normalmodel, xdata, ydata)

运行优化的 curve_fit 函数的正确输入是什么?

或者有更顺畅的方法吗?

python curve-fitting scipy-optimize
© www.soinside.com 2019 - 2024. All rights reserved.