0

我试图求解一个三次方程并适合我的实验数据集。但是我的代码中存在一些关于curve_fit. 尽管功能fdel_y定义都完美(使用参数值检查),但curve_fit无法正常工作并向我显示错误:

ValueError:使用序列设置数组元素。

有人可以帮我解决这个问题吗?

import numpy as np
from scipy.optimize import curve_fit

def f(G0,H0,k1,k2):
    a=(k1+2*k1*k2*H0-k1*k2*G0)/(k1*k2)
    b=(1+k1*H0-k1*G0)/(k1*k2)
    c=-G0/(k1*k2)
    cf=[1,a,b,c]
    k=np.roots(cf)
    return abs(k[2])

def del_y(G0,H0,A,k1,k2,n):
    return A*(0.04*k1*f(G0,H0,k1,k2)**n)
popt, pcov = curve_fit(del_y,x_data,y_data)
4

0 回答 0