擅长:python、mysql、java
<p>您可以使用的leatsq函数辛辣。优化. 在</p>
<p>在我的例子中,它是用两个变量拟合指数函数:</p>
<pre><code>def func_exp(p, x, z):
# exponential function with multiple parameters
a, b, c, d, t, t2 = p[0], p[1], p[2], p[3], p[4], p[5]
return a*np.exp(b + pow(x,c)*t + pow(z,d)*t2)
</code></pre>
<p>但是要使用leatsq函数,你需要创建一个error函数,这个函数需要优化。在</p>
^{pr2}$
<p>要使用它:</p>
<pre><code>p0=[1e4,-1e-3,1,1,-1e-2, -1e-6]
# First parameters
pfit_fin, pcov, infodict, errmsg, success = leastsq(err, p0, args=(X,Y,Z), full_output=1, epsfcn=0.000001)
</code></pre>
<p>因此,返回最佳参数,以生成结果:</p>
<pre><code>Y_2= func_exp(pfit_fin, X,Y)
</code></pre>
<p>我希望这对你有帮助</p>
<p>克里斯。在</p>