[問題] 矩陣特定位置修改數值

看板MATLAB作者 (怎麼會這樣)時間14年前 (2012/02/17 15:32), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/3 (看更多)
想問 有一矩陣 A = [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ] 以及一個陣列 d = [1 2 2 3 3 4 4 5] 我希望把A矩陣中第1列第2行,第2列第3行,第3列第4行及第4列第5行的數值改成0, 得到 A = [ 1 0 3 4 5 6 7 0 9 10 11 12 13 0 15 16 17 18 19 0 21 22 23 24 25 ] 因為矩陣很大,用for loop一個一個改太慢,試了許久試不出來, 不知道有沒有什麼指令,感謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.26.17 ※ 編輯: aasubspace 來自: 134.208.26.17 (02/17 15:32)

02/17 16:09, , 1F
A((d(:,2)-1)*5+d(:,1))=0 ?
02/17 16:09, 1F

02/17 16:11, , 2F
可以耶,感謝您
02/17 16:11, 2F

02/22 14:01, , 3F
A(1:4,2:5)=A(1:4,2:5).*(~eye(4))
02/22 14:01, 3F
文章代碼(AID): #1FFWA9lT (MATLAB)
文章代碼(AID): #1FFWA9lT (MATLAB)