我的问题是:我有一个矩阵,作为例子
1 2 3
4 2 6
6 1 8
4 5 4
7 1 5
8 2 0
我希望从矩阵中提取选定的值,例如,像这样的向量
B = [3 6 0]
在第二列的值为2时选择第三列的值。我尝试了不同的方法,但没有一种有效。
使用
B = A(A(:,2)==2,3)' %// Assuming A is your input matrix
如果M是您的矩阵,您可以使用
选择第二列M(:,2)
与two比较得到包含2
的行M(:,2)==2
并使用这个逻辑向量从第三列中选择元素。
M(M(:,2)==2,3)
更一般一点:如果您希望基于一组值进行选择,则使用ismember
来生成逻辑索引:
>> A(ismember(A(:,2), [2 5]) , 3) %// [2 5]: values you want to find in 2nd col
ans =
3
4
6
0