[討論] 不用for loop處理兩矩陣元素運算已回收

看板MATLAB作者 (oh)時間15年前 (2010/12/10 16:09), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
由於原始要處理的矩陣有點大,故簡化成以下 假設A(4 by 5),B(3 by 5) A的每一個元素都要和B的每個元素做相減 例如 a11必須和b11,b12~b15,b21~b25,b31~b35進行相減 除了for 硬幹之外有沒有好的suggestion? 最近一直要處理大矩陣相關運算,希望有人可以幫幫 感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.80.198

12/10 16:31, , 1F
我有想到用這個a(i,j)*ones(size(B))-B,好像跑不掉用for
12/10 16:31, 1F

12/10 16:31, , 2F
有更簡便的方法嗎?因為原始矩陣還蠻大的
12/10 16:31, 2F

12/10 21:55, , 3F
bsxfun(@plus,A,permute(B,[3 4 1 2]));
12/10 21:55, 3F

12/11 02:17, , 4F
感謝,真是神奇的用法 學起來了 謝謝拉 看來matlab還有很多
12/11 02:17, 4F

12/11 02:17, , 5F
寶可以用
12/11 02:17, 5F
文章代碼(AID): #1D0U0S7M (MATLAB)