0
我有兩個矩陣要被減去。我們來看下面的代碼。執行'@minus'時出現bsxfun錯誤
A=rand(5472,1);
B=rand(1,3);
C= bsxfun(@minus, A, B(:))
我得到的錯誤,說兩個輸入數組的
非單維度必須相互
任何想法,爲什麼匹配這個錯誤? 謝謝!
我有兩個矩陣要被減去。我們來看下面的代碼。執行'@minus'時出現bsxfun錯誤
A=rand(5472,1);
B=rand(1,3);
C= bsxfun(@minus, A, B(:))
我得到的錯誤,說兩個輸入數組的
非單維度必須相互
任何想法,爲什麼匹配這個錯誤? 謝謝!
您試圖對兩列向量應用bsxfun
,而您應將其應用於一行和一列向量。
bsxfun
輸入應具有不同 singelton尺寸(size(arr,dim) == 1
)。在你的例子size(A) = [5472,1]
和size(B) = [1,3]
這是適當的輸入(A
的singelton維度是2和B
的singelton維度是1),但是當你做B(:)
- B
的singelton維度變成2,如A
's,它拋出一個錯誤。
做:
A=rand(5472,1);
B=rand(1,3);
C= bsxfun(@minus, A, B)
無法相信我做出這樣的錯誤!謝謝! –