在Python陣列比方說,我有這個計算的事情:矩陣和使用np.array
什麼是做在Python中的最佳方式?我來自Matlab背景,Matlab中的矩陣很容易處理。我曾嘗試與numpy的,但它給了我此錯誤消息:
ValueError: setting an array element with a sequence.
這裏是我的代碼片段:
for i in Xh:
for u in Yh:
E= (np.array([(C,D),(E,F)]) * np.array([(i),(u)])) + np.array([Cx,Cy])
請注意,Xh
和Yh
的名單已經計算出,這是爲什麼我使用for循環(我知道我可以使用列表推導更快)。
您可以提供[MCVE](http://stackoverflow.com/help/mcve)嗎? – Nuageux
使用['numpy.dot'](https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html)進行矩陣向量乘法運算。 '*'運算符通過[broadcast](https://docs.scipy.org/doc/numpy-1.12.0/user/basics.broadcasting.html)執行元素相乘。 –
'()'創建一個序列,你應該在你的數組元素周圍使用'[]'。另外如果你正在嘗試使用'mat_name.dot(vector_name)'來進行矩陣乘法。快速瀏覽一下'E = np.array([[C,D],[E,F]])。dot(np.array([i,u]))+ np.array([Cx,Cy]) '應該足夠了。 –