Extracting rows form a matrix with indices.
3 次查看(过去 30 天)
显示 更早的评论
HI all,
i have a Matrix a=(24X30) and a vector b=(1,4,7,8,10,12) that represents the rows index. I would like to create a new Matrix C=(6X30). This matrix is composed of the 6 rows with indeces (1,4,7,8,10,12), the vector b.
How can I do that?
Thanks
0 个评论
采纳的回答
dpb
2023-2-21
编辑:dpb
2023-2-21
M=[[1:24].' randi(100,24,5)]; % a sample array
b=[1,4,7,8,10,12]; % the indexing vector
N=M(b,:) % the new array
illustrates vector indirect addressing does work.
NOTA BENE: the array M was created such that the first element is the row index value so can see which was selected by inspection to prove got what wanted...
更多回答(1 个)
Adam Drake
2023-2-21
% Create Matrix A: 24 x 30
A = randi(100,[24 30]);
% Create Vector B: desired row indices
B = [1,4,7,8,10,12];
% Create Matrix C: desired rows from Matrix A, specified by B
C = A(B,:);
The desired rows are specified by B, all columns are specified by ':'.
0 个评论
另请参阅
类别
Find more on Multidimensional Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!