-3
我有兩個矩陣,大小爲800E3x45
的X
和大小爲45x35
的W
。我如何創建一個大小爲800E3x35
的矩陣,其中每個條目是一行X
的一列點和W
的列?MATLAB:點積的矩陣
我有兩個矩陣,大小爲800E3x45
的X
和大小爲45x35
的W
。我如何創建一個大小爲800E3x35
的矩陣,其中每個條目是一行X
的一列點和W
的列?MATLAB:點積的矩陣
也許這是不是最好的方式爲閱讀和理解的代碼,但是你可以使用下一個公式來完成在矢量視圖:
res = cell2mat( arrayfun(@(y) arrayfun(@(x) dot(X(y,:), W(:,x)), 1:size(W,2)), ...
(1:size(X,1))', 'UniformOutput', false))
說明:
dot(X(y,:), W(:x))
- 對於X的每一行(y表示行號),我們對W的所有列採用點(x是W的列)arrayfun
(內部)獲得W的每一列arrayfun
(EXTERN)用於獲取X的每一行附:我認爲可以有更優雅的解決方案,使用bsxfun
,但這是我能想象的第一個。
試用'M = X * W' – eyllanesc
爲什麼你的所有問題都一樣? –