我有[sentence cross words]
逻辑矩阵,其中value = 1
显示该句子中存在单词,0
表示缺席如下:
0 0 1 1
1 0 1 0
0 0 0 1
1 1 0 0
我做了一些处理并选择了特定的单词,即2 & 3
result = 2 3
现在,我想只选择单词2 & 3
的值为equal to 1
的行并返回行号,如下所示:
row = 1 2 4
对于结果变量中的每个单词都应该这样做 - 谢谢。
答案 0 :(得分:3)
认为你正在寻找这样的东西,假设A作为输入二进制数组 -
result = [2 3]; %// select words by IDs
row = find(any(A(:,result),2))
示例运行 -
A =
0 0 1 1
1 0 1 0
0 0 0 1
1 1 0 0
row =
1
2
4
对于 fun-sake ,您也可以使用matrix-multiplication
作为替代方法 -
row = find(A(:,result)*ones(numel(result),1))
答案 1 :(得分:3)