gpt4 book ai didi

python - 最小化以numpy数组为参数的python函数

转载 作者:太空狗 更新时间:2023-10-30 01:17:05 25 4
gpt4 key购买 nike

我是 python 的新手,我遇到了以下问题:我正在尝试最小化一个 python 函数,该函数将一个 numpy 数组作为其参数之一。当我使用 scipy.optimize.fmin 时,它将我的数组变成一个列表(这导致函数无法计算)。是否有接受 numpy 数组作为函数参数的优化函数?

提前致谢!

-MB

编辑:这是我正在谈论的例子,由@EOL 提供:

import scipy.optimize as optimize
import numpy as np

def rosen(x):
print x
x=x[0]
"""The Rosenbrock function"""
return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
x0 = np.array([[1.3, 0.7, 0.8, 1.9, 1.2]])
xopt = optimize.fmin(rosen, x0, xtol=1e-8, disp=True)
#[ 1.3 0.7 0.8 1.9 1.2]
#(note that this used to be a numpy array of length 0,
#now it's "lost" a set of brackets")

最佳答案

这是一个使用 optimize.fmin 的例子,它来自 scipy tutorial :

import scipy.optimize as optimize
def rosen(x):
"""The Rosenbrock function"""
return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
x0 = [1.3, 0.7, 0.8, 1.9, 1.2]
xopt = optimize.fmin(rosen, x0, xtol=1e-8, disp=True)
# Optimization terminated successfully.
# Current function value: 0.000000
# Iterations: 339
# Function evaluations: 571
print(xopt)
# [ 1. 1. 1. 1. 1.]

这有帮助吗?如果不是,您能否修改此示例以显示正在变成列表的内容?

关于python - 最小化以numpy数组为参数的python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7868254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com