看起來你似乎得到了三個元素的向量,前兩個元素是具有六個元素的向量,最後一個具有1x6元素的矩陣。 Numpy不能將它們「拼合」成單個矩陣。
>>> BRad = 1
>>> BC = np.array([1,2,3,4,5,6])
>>> np.transpose(np.array([BRad * np.cos(BC), BRad * np.sin(BC), np.zeros((1,6))]))
array([ array([ 0.54030231, -0.41614684, -0.9899925 , -0.65364362, 0.28366219,
0.96017029]),
array([ 0.84147098, 0.90929743, 0.14112001, -0.7568025 , -0.95892427,
-0.2794155 ]),
array([[ 0., 0., 0., 0., 0., 0.]])], dtype=object)
相反的np.zeros((1,6))
,儘量只np.zeros(6)
>>> np.transpose(np.array([BRad * np.cos(BC), BRad * np.sin(BC), np.zeros(6)]))
array([[ 0.54030231, 0.84147098, 0. ],
[-0.41614684, 0.90929743, 0. ],
[-0.9899925 , 0.14112001, 0. ],
[-0.65364362, -0.7568025 , 0. ],
[ 0.28366219, -0.95892427, 0. ],
[ 0.96017029, -0.2794155 , 0. ]])
什麼'BC','BRad'?使用最少的樣本數據來重現問題。 – Divakar
也許'np'矩陣是'(3,)'向量的向量,每個向量的形狀爲'(6,)'? –
在外部'np.array'調用的末尾添加'dtype = float',你會得到一個更有用的錯誤信息 – Eric