使用序列设置数组元素

时间:2014-02-14 16:16:35

标签: python arrays

所以我不是最好的python,但我需要为我的一个课程创建这个程序,我一直收到这个错误。

基本上我有w_array = linspace(0.6, 1.1, 11),然后我有zq = array([1, 1, w_array, 1])

它出现了错误消息:

ValueError: setting an array element with a sequence.

代码的基本功能是采用bezier样条曲线翼型,具有控制点和权重,在xfoil中运行数据并打印cd和cl值,但这个添加是为了显示cd的范围图某个控制点。

希望它有意义,任何帮助都会受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

如果您希望zq是包含整数和列表的数组,请使用参数dtype

In [300]: zq = array([1, 1, w_array, 1], dtype=object)

In [301]: zq
Out[301]: 
array([1, 1,
       array([ 0.6 ,  0.65,  0.7 ,  0.75,  0.8 ,  0.85,  0.9 ,  0.95,  1.  ,
        1.05,  1.1 ]),
       1], dtype=object)

答案 1 :(得分:1)

这是您的预期结果吗?

In [2]:
numpy.hstack((1,1,numpy.linspace(0.6,1.1,11),1))
Out[2]:
array([ 1.  ,  1.  ,  0.6 ,  0.65,  0.7 ,  0.75,  0.8 ,  0.85,  0.9 ,
        0.95,  1.  ,  1.05,  1.1, 1. ])

您可能希望结果array拥有float64 dtypes而不是object,这是dtypes的混合包,正如@DSM指出的那样。< / p>