我正在将一些Matlab代码转换为python,fminsearch有问题。我想知道有没有人能帮我。
method={'gausse' 'markov'};
subset=find(r>0 & r<=rMax);
a{1}=fminsearch('myfunction',[10 50],[],r(subset),cf(subset),'gausse');
a{2}=fminsearch('myfunction',[10 50],[],r(subset),cf(subset),'markov');
fit(1)=myfunction(a{1},r(subset),cf(subset),'gauss');
fit(2)=myfunction(a{2},r(subset),cf(subset),'markov');我在python scipy.optimize.fmin中找到了类似的函数,但我不知道如何使用它。在python中,{}括号是什么意思?谢谢你的帮助。
发布于 2019-11-18 16:31:30
下面是一个使用fmin的示例。
import numpy as np
import scipy.optimize as opt
import matplotlib.pyplot as plt
from matplotlib import cm
myfun = lambda x: -np.exp(-(x[0]-2)**2-(x[1]+1)**2)
X = np.arange(-5,5,0.01)
Y = np.arange(-3,3,0.01)
xopt = opt.fmin(myfun, [-3,2])
print(xopt)
myfun([2,-1]) #ANALYTIC SOLUTION
myfun(xopt) #NUMERICAL SOLUTION
# FOR PLOT
xx,yy = np.meshgrid(X,Y)
zz = -np.exp( -(xx-2)**2-(yy+1)**2)
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(xx,yy,zz,cmap=cm.jet)
plt.xlabel('X=x[0]')
plt.ylabel('Y=x[1]')
plt.zlabel('Z=f(X,Y)')https://stackoverflow.com/questions/58890838
复制相似问题