gpt4 book ai didi

python - 与 2 个输入变量的曲线拟合

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:44 25 4
gpt4 key购买 nike

使用 scipy.optimize.curve_fit 我试图获得一个最佳拟合函数 og 2 个测量数据系列到第三个测量数据系列,例如 f(x,y)=z,其中 x,y,z 是测量值系列。

代码如下:

def func_events_model(xy,a,b,c):
return a*xy[0]+b*xy[1]+c
events_array=numpy.array(events_list)
Tin_array=numpy.array(Tin_list)
barometer_array=numpy.array(barometer_list)
events_array=events_array.reshape(720,1)
Tin_barometer_array=numpy.array([[Tin_list],[barometer_list]])
Tin_barometer_array=Tin_barometer_array.T
popt_model,stats_model=curve_fit(func_events_model,Tin_barometer_array,events_array)

我收到此错误消息:

Traceback (most recent call last):
File "DUKS_dataplot.py", line 100, in <module>
popt_model,stats_model=curve_fit(func_events_model,Tin_barometer_array,events_array)
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 506, in curve_fit
res = leastsq(func, p0, args=args, full_output=1, **kw)
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 355, in leastsq
gtol, maxfev, epsfcn, factor, diag)
minpack.error: Result from function call is not a proper array of floats.

有什么想法可以解决这个问题吗?或者找到最佳拟合 f(x,y)=z 的更好方法?

scipy.optimize.curve_fit 的文档指出独立输入可以有多个维度。

最佳答案

将函数定义更改为:

def func_events_model(xy,a,b,c):
return a*xy[0]+b*xy[1]+c

成功了。

关于python - 与 2 个输入变量的曲线拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com