我想把下面的问题从Matlab翻译成Python(Matlab代码):
function [f,g] = rosenbrockwithgrad(x)
f = 100*(x(2) - x(1)^2)^2 + (1-x(1))^2;
if nargout > 1 % gradient required
g = [-400*(x(2)-x(1)^2)*x(1)-2*(1-x(1));
200*(x(2)-x(1)^2)];
end
然后打电话给乐观者:
^{pr2}$Python:
def rosenbrockwithgrad(x, nargout = 1):
f = 100*(x[1] - x[0]**2)**2 + (1-x([0]))**2;
if nargout > 1: #gradient
g = ([-400*(x[1]-x[0]**2)*x[0]-2*(1-x[0]), 200*(x[1]-x[0])**2]);
return f,g
然后打电话给乐观者:
scipy.optimise.fmin_cg(...no idea...)
是否有必要拆分函数,或者是否有类似于Matlab的方法?在
目前没有回答
相关问题 更多 >
编程相关推荐