[問題] 有沒有矩陣./行向量的寫法

看板MATLAB作者 (米血)時間11年前 (2013/12/02 15:34), 編輯推噓3(306)
留言9則, 6人參與, 最新討論串1/1
A = [1 2 3 4 5 6] 一般我知道 A./2 代表就是把A每個element除以2 有沒有一種打法就是可以 ./ 行向量 (不要用for迴圈) 例如 A ./ [1;2] 就是把A的每一行除上[1;2] ans = [1 2 3 2 2.5 3 ] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.175.175 ※ 編輯: beansprout 來自: 140.112.175.175 (12/02 15:38)

12/02 15:58, , 1F
A./ repmat(B,size(A,1),1) 這樣如何?
12/02 15:58, 1F

12/02 15:59, , 2F
如果B是[1,2,3]的話
12/02 15:59, 2F

12/02 16:00, , 3F
反正就是把行向量排成矩陣@@ 一個很直觀的做法
12/02 16:00, 3F

12/02 16:02, , 4F
A./B(:,ones(1,size(A,2)))
12/02 16:02, 4F

12/02 16:02, , 5F
B=[1;2]
12/02 16:02, 5F

12/02 17:37, , 6F
謝謝:) 我有想過一樓的方法只是不知道原來有repmat!
12/02 17:37, 6F

12/02 19:34, , 7F
bsxfun(@rdivide, A, [1; 2])
12/02 19:34, 7F

12/02 20:24, , 8F
推bsxfun
12/02 20:24, 8F

12/06 12:00, , 9F
A*diag(1./B)
12/06 12:00, 9F
文章代碼(AID): #1Id3WCfI (MATLAB)
文章代碼(AID): #1Id3WCfI (MATLAB)