我试图从矩阵中复制一些元素,但不是整行,而不是单个元素。
例如,在以下矩阵中:
a = 1 2
3 4
5 6
7 8
9 0
我如何只复制以下数据?
b = 1
3
5
即。仅在第1列中的行1:3 ...我知道您可以删除整个列,如下所示:
b = a(:,1)
...我很欣赏可以这样做,然后转储最后两行,但我想使用更简化的代码,因为我正在运行一个资源密集型的解决方案。
答案 0 :(得分:5)
MATLAB中矩阵中的元素以列主顺序存储。这意味着,您甚至可以使用单个索引并说:
b = a(1:3);
由于前3个元素是1,3,5。类似地,a(6)是2,a(7)是4等。查看sub2ind方法以了解更多:
答案 1 :(得分:1)
您没有“删除”第二列,而是引用另一列。
您应该阅读一些Matlab文档,它们提供了一些有关访问矩阵部分语法的帮助:
http://www.mathworks.com/help/techdoc/learn_matlab/f2-12841.html#f2-428