我想索引矩阵
x=[1:5;6:10]
x =
1 2 3 4 5
6 7 8 9 10
使用数组
[1,2,1,2,1]
获取
1 7 3 9 5
我试过了:
x([1,2,1,2,1],:)
ans =
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5
但这不是我想要的。请帮忙
答案 0 :(得分:5)
>> v = x(sub2ind(size(x),a,1:5))
v =
1 7 3 9 5
答案 1 :(得分:2)
让
ind = [1, 2, 1, 2, 1];
offset = [1:size(x, 1):numel(x)] - 1;
然后
x(ind + offset)
返回您想要的内容。这假设您的索引向量为x
的每一列都有一个条目,并使用线性索引为每个列内索引添加列偏移量。