首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Matlab fminsearch转换为Python

将Matlab fminsearch转换为Python
EN

Stack Overflow用户
提问于 2019-11-16 20:40:41
回答 1查看 325关注 0票数 0

我正在将一些Matlab代码转换为python,fminsearch有问题。我想知道有没有人能帮我。

代码语言:javascript
复制
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中,{}括号是什么意思?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-11-18 16:31:30

下面是一个使用fmin的示例。

代码语言:javascript
复制
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)')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58890838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档