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'