Python 属性错误:';元组';对象没有属性';拉威尔';

Python 属性错误:';元组';对象没有属性';拉威尔';,python,numpy,optimization,scipy,Python,Numpy,Optimization,Scipy,我试图用这个函数解两个非线性方程组 我得到一个我不理解的错误:AttributeError:“tuple”对象没有属性“ravel”。这意味着什么?如何修复代码(如果可能的话) 编辑:完整错误消息 Traceback (most recent call last): File "<ipython-input-2-29b9507fcb99>", line 1, in <module> runfile('.../test') File "C:\WinPyt

我试图用这个函数解两个非线性方程组

我得到一个我不理解的错误:
AttributeError:“tuple”对象没有属性“ravel”
。这意味着什么?如何修复代码(如果可能的话)

编辑:完整错误消息

Traceback (most recent call last):

  File "<ipython-input-2-29b9507fcb99>", line 1, in <module>
    runfile('.../test')

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
    execfile(filename, namespace)

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "../test.py", line 111, in <module>
    print(so.brute(root2d,rranges,args=(a,b),finish=so.fmin))

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\scipy\optimize\optimize.py", line 2711, in brute
    indx = argmin(Jout.ravel(), axis=-1)

AttributeError: 'tuple' object has no attribute 'ravel'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件(“…/test”)
文件“C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\site-customize.py”,第866行,在runfile中
execfile(文件名、命名空间)
文件“C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\site-customize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“./test.py”,第111行,在
打印(so.brute(root2d,rranges,args=(a,b),finish=so.fmin))
文件“C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site packages\scipy\optimize\optimize.py”,第2711行,粗体
indx=argmin(Jout.ravel(),轴=-1)
AttributeError:“tuple”对象没有属性“ravel”

返回两个变量F1和F2,并使用一个变量obj来显示它们。(假设)这就是所谓的元组obj,它与两个值关联,即F1和F2的值。因此,在列表中使用索引可以按顺序获得所需的值。

显示完整回溯。Python解释器提供了尽可能多的信息来帮助您解决问题--为什么不在这里为其他人提供这些信息?因为您返回了2个变量,所以您需要像我们以列表索引方式访问它们..最小化函数只能有一个输出。您需要组合F1和F2或分别优化它们。@-kazemakase我应该如何组合它们?如果类似于
F1*F2
F1+F2
优化值与
scipy.optimize.root
的结果不一致。不,我不能单独优化
F1
F2
,因为它们是联立非线性方程组
Traceback (most recent call last):

  File "<ipython-input-2-29b9507fcb99>", line 1, in <module>
    runfile('.../test')

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
    execfile(filename, namespace)

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "../test.py", line 111, in <module>
    print(so.brute(root2d,rranges,args=(a,b),finish=so.fmin))

  File "C:\WinPython\WinPython-64bit-3.5.2.3\python-3.5.2.amd64\lib\site-packages\scipy\optimize\optimize.py", line 2711, in brute
    indx = argmin(Jout.ravel(), axis=-1)

AttributeError: 'tuple' object has no attribute 'ravel'