任何人都可以提供一个为最小二乘函数提供雅可比行列式的例子scipy
吗?
我无法弄清楚他们想要的方法签名——他们说它应该是一个函数,但很难弄清楚这个函数应该接受哪些输入参数。
任何人都可以提供一个为最小二乘函数提供雅可比行列式的例子scipy
吗?
我无法弄清楚他们想要的方法签名——他们说它应该是一个函数,但很难弄清楚这个函数应该接受哪些输入参数。
这是我必须使用的指数衰减拟合:
import numpy as np
from scipy.optimize import leastsq
def f(var,xs):
return var[0]*np.exp(-var[1]*xs)+var[2]
def func(var, xs, ys):
return f(var,xs) - ys
def dfunc(var,xs,ys):
v = np.exp(-var[1]*xs)
return [v,-var[0]*xs*v,np.ones(len(xs))]
xs = np.linspace(0,4,50)
ys = f([2.5,1.3,0.5],xs)
yn = ys + 0.2*np.random.normal(size=len(xs))
fit = leastsq(func,[10,10,10],args=(xs,yn),Dfun=dfunc,col_deriv=1)
如果我想使用col_deriv=0
,我认为我基本上必须对我用 dfunc 返回的内容进行转置。不过,您是对的:这方面的文档不是很好。