我试图在曲线拟合期间将边界应用于某些参数但我在尝试这样做时收到以下错误消息:
ValueError:要解压缩的值太多
绑定命令中的每个2元组是否分别对应于我的情况下的sigmoidscaled函数中的x0,k,lapse,guess(也就是对应于p0)?
然后,我尝试通过将绑定命令减少到以下来去除"太多的值"来试图弄清楚它是如何工作的:
bounds =(( - np.inf,np.inf),(0,1))
然后我收到以下错误消息:
ValueError:边界和边界之间的形状不一致x0.
我在这里弄错了什么?
import pylab
from scipy.optimize import curve_fit
from matplotlib.pyplot import *
n = 20 #20 trials
ydata = [0/n, 9.0/n, 9.0/n, 14.0/n, 17.0/n] #Divided by n to fit to a plot of y =1
xdata = np.array([ 1.0, 2.0, 3.0, 4.0, 5.0])
#The scaled sigmoid function
def sigmoidscaled(x, x0, k, lapse, guess):
F = (1 + np.exp(-k*(x-x0)))
z = guess + (1-guess-lapse)/F
return z
p0=[1,1,0,0]
popt, pcov = …Run Code Online (Sandbox Code Playgroud) 鉴于:
ListA = [1,2,3,4,5]
ListB = [10,20,30,40,50,60,70]
我如何使它这样ListC = [11,22,33,44,55,60,70],当C[0] = B[0] + A[0]...... C[5] = nil + B[5]等等?在这种情况下,我不能简单地用一个for循环将会有一个IndexError为ListB具有两个条目相比,ListA?