[討論] 二維矩陣取值

看板MATLAB作者 (AndGiTiSaaC)時間8年前 (2016/09/02 23:00), 8年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
小弟一直以來都有個問題沒有解決,想來請教板上前輩。 假設有個矩陣 A = [ 16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1] 欲取(1,2),(3,4),(2,4)的值 而手上有座標矩陣sub = [1, 2; 3, 4; 2, 4] 目前做法都是用sub2ind(sub)轉成index 才所求B = [2; 12; 8] 但始終覺得有辦法把sub直接丟進A裏頭求解 並且不使用迴圈 試過A( [sub(:,1), sub(:,2)] )之類的做法 但會出現意料之外的解 請前輩們解惑@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.85.115.239 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1472828409.A.11D.html ※ 編輯: andgitisaac (219.85.115.239), 09/02/2016 23:06:07

09/03 01:11, , 1F
如果size(A)=[n m],則A(sub(:,2)*(m-1)+sub(:,1)),就是你
09/03 01:11, 1F

09/03 01:11, , 2F
要的,但這正是sub2ind在做的事
09/03 01:11, 2F
所以只能轉index來處理囉…先謝謝大大了 ※ 編輯: andgitisaac (223.137.227.91), 09/03/2016 14:44:08
文章代碼(AID): #1NoPFv4T (MATLAB)
文章代碼(AID): #1NoPFv4T (MATLAB)