Mih*_*iha 4 python numpy scipy
我正在尝试使用scipy.optimize.fmin_bfgs()函数计算六驼峰驼峰函数的最小值.这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
def f(x,y):
return (4 - 2.1*x**2 + x**4/3)*x**2 + x*y + (4*y**2 - 4)*y**2
x0 = [0,0]
optimize.fmin_bfgs(f, x0)
Run Code Online (Sandbox Code Playgroud)
输出:
TypeError: f() missing 1 required positional argument: 'y'
Run Code Online (Sandbox Code Playgroud)
我猜我传递x0的方式有问题吗?
根据此页面,应该有一个数组参数f:http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html
改为:
def f(x):
return (4 - 2.1*x[0]**2 + x[0]**4/3)*x[0]**2 + x[0]*x[1] + (4*x[1]**2 - 4)*x[1]**2
x0 = [0,0]
optimize.fmin_bfgs(f,x0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2999 次 |
| 最近记录: |