我有一个简单的数组,它是numpy.linalg.solve
的结果。我用它来使用numpy.poly1d()创建一个多项式。无论我尝试什么:numpy.asarray(),numpy.reshape(),numpy.transpose()等我收到此错误:
[[ 1. -0.99390328 0.1617277 ]]
Traceback (most recent call last):
File "aPCv1.py", line 62, in <module>
p = np.poly1d(c)
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/polynomial.py", line 1094, in __init__
raise ValueError("Polynomial must be 1d only.")
ValueError: Polynomial must be 1d only.
其中c = [[ 1. -0.99390328 0.1617277 ]]
是带有系数的数组的终端输出。
答案 0 :(得分:2)
在我看来,你需要将c的尺寸减少1.这可以通过numpy使用:
c = np.squeeze(c)
或通过提取第一项:
c=c[0]
或使用列表理解:
c = [i for i in j for j in c]