比如,随便定义一个矩阵a
a = magic(5);
然后给一个两列的矩阵b,第一列是元素行号,第二列是元素列号,
b = [ 1 3
4 2
5 4];
那么不用for循环,如何用b矩阵提取出a中的位置分别为(1,3),(4,2),(5,4)的元素呢?
a=magic(5)
b = [ 1 3
4 2
5 4];
c=size(a);
d=sub2ind(c,b(:,1),b(:,2));
A=a(d)
博客围绕矩阵元素提取问题展开,给出矩阵a和两列矩阵b,b的第一列是元素行号,第二列是元素列号,探讨不用for循环,如何用b矩阵提取a中指定位置元素,并给出了相应代码实现。
比如,随便定义一个矩阵a
a = magic(5);
然后给一个两列的矩阵b,第一列是元素行号,第二列是元素列号,
b = [ 1 3
4 2
5 4];
那么不用for循环,如何用b矩阵提取出a中的位置分别为(1,3),(4,2),(5,4)的元素呢?
a=magic(5)
b = [ 1 3
4 2
5 4];
c=size(a);
d=sub2ind(c,b(:,1),b(:,2));
A=a(d)

被折叠的 条评论
为什么被折叠?