作者andgitisaac (AndGiTiSaaC)
看板MATLAB
标题[讨论] 二维矩阵取值
时间Fri Sep 2 23:00:07 2016
小弟一直以来都有个问题没有解决,想来请教板上前辈。
假设有个矩阵
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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1472828409.A.11D.html
※ 编辑: andgitisaac (219.85.115.239), 09/02/2016 23:06:07
1F:→ sunev: 如果size(A)=[n m],则A(sub(:,2)*(m-1)+sub(:,1)),就是你09/03 01:11
2F:→ sunev: 要的,但这正是sub2ind在做的事09/03 01:11
所以只能转index来处理罗…先谢谢大大了
※ 编辑: andgitisaac (223.137.227.91), 09/03/2016 14:44:08