MATLAB:复制数组的特定部分

Cap*_*rog 4 matlab matrix

我试图从矩阵中复制一些元素,但不是整行,而不是单个元素.

例如,在以下矩阵中:

a = 1 2
    3 4
    5 6
    7 8
    9 0
Run Code Online (Sandbox Code Playgroud)

我该如何复制以下数据?

b = 1
    3
    5
Run Code Online (Sandbox Code Playgroud)

即第1列中的行1:3 ...我知道您可以删除整个列,如下所示:

b = a(:,1)
Run Code Online (Sandbox Code Playgroud)

...我很欣赏可以这样做,然后转储最后两行,但我想使用更简化的代码,因为我正在运行一个资源密集型解决方案.

ete*_*00b 5

MATLAB中矩阵中的元素按列主顺序存储.这意味着,您甚至可以使用单个索引并说:

b = a(1:3);
Run Code Online (Sandbox Code Playgroud)

由于前3个元素是1,3,5.类似地,a(6)是2,a(7)是4等.查看sub2ind方法以了解更多:

http://www.mathworks.com/help/techdoc/ref/sub2ind.html