Selecting an element from each column of a matrix using another matrix

3 次查看(过去 30 天)
I have a 130x87 matrix (A) and I need to select an element from each column based on the numbers in a 1x87 matrix (B). So if the first number in matrix B is 12, I need the 12th number in the first column of matrix A.

采纳的回答

Stephen23
Stephen23 2016-2-4
编辑:Stephen23 2016-2-4
Use sub2ind:
>> A = [0,1,2;3,4,5;6,7,8;9,10,11] % your matrix
A =
0 1 2
3 4 5
6 7 8
9 10 11
>> B = [2,4,3]; % the rows you want
>> X = sub2ind(size(A),B,1:size(A,2));
>> A(X) % get the values
ans =
3 10 8

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2016-2-4
%Example
A= randi(10,5,6)
B =randi(5,1,6)
%---------------------
[n,m]=size(A);
idx=B+(0:n:n*(m-1))
out=A(idx)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by