【问题标题】:ValueError using scipy.optimize on multidimensional functionValueError 在多维函数上使用 scipy.optimize
【发布时间】:2019-03-02 02:21:06
【问题描述】:

我在这里做错了什么?

import numpy as np
import scipy.optimize as so

def f(z):
  return z


guess=np.array([1,1])
z0=so.newton(f,guess)

我收到以下错误:

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

如果函数的域是多值的,则在 scipy 文档上有一些关于向量化函数的信息,但不能完全理解我必须做什么。

【问题讨论】:

  • 您确定要让您的函数也返回一个数组(而不是单个值)吗?
  • 你的代码 sn-p 在 python3 中工作(给出z0 = array([0., 0.])),但在 python2 中不工作。
  • 我在大学的 Spyder 上使用 Python3.6...嗯
  • 你用什么版本的scipy(我是1.2.1)和numpy(1.15.4)?

标签: python


【解决方案1】:

如果我使用旧版本的 lib(Python 3.6.3、scipy 1.1.0)运行您的代码,则会收到与您在问题中显示的相同的错误。

当我升级到较新版本(相同的 python,scipy 1.2.1)时,错误消失并且代码运行正常。

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多