我有一個3D(或一般n維)矩陣A
與尺寸由列向量乘法三維矩陣
size(A) = [d1 d2 d3 ... dn].
現在我想做的一個列向量v
一個矢量乘法在一個維度(我會做在2個維度,在那裏我得到返回的載體 - 例如用於d1 = 2
,d3 = 4
和size(v) = d2
),使
(A*d)_i = sum(a_ij*v_j).
因此,我想通過一個維度減少。
是否有用於返回d3
維列向量v
(A*v)_ij = sum(A_ijk*v_k).
我希望這是一個明確的MATLAB函數(除循環等)。
謝謝!
好嗎 - 非常感謝。我希望有更順暢的事情,但我想這很公平。 – user1763302
此方法僅適用於要相乘的維度是N-d矩陣的最後維度。如果代碼適用於N-D矩陣的任何維1 ... N,那將會很好。似乎可以在開始和結束時使用'dimshift'。 – cjh
確實可以用'permute'實現......這需要幾分鐘的時間來思考它。隨意編輯我的答案,或者添加你自己的答案。我有一個最後期限。 – Oli