我需要找到矩阵{a}< 259x1>的行和列坐标。来自另一个矩阵{data}< 259x31878>。我尝试使用for循环,但不确定如何使用矩阵列表{a}实现for循环。 请帮助任何人。 谢谢。
更新: 对困惑感到抱歉。 是的,矩阵{a}是矩阵{data}的子集。或者,矩阵{data}是矩阵{a}的超集。我需要在矩阵{data}中找到矩阵{a}的值的行和列位置。如您所见,矩阵{data}如此之大,单独搜索每个数据点是不切实际的。 再次感谢。
答案 0 :(得分:2)
a(:,ones(1,size(data,2)))==data
这会产生您可以使用的逻辑索引,或者您可以使用find:
转换它们[r c]=find(a(:,ones(1,size(data,2)))==data)
答案 1 :(得分:1)
检查matlab ismemeber函数。
答案 2 :(得分:1)
ismember的第二个输出怎么样?它为您提供位置而不是逻辑索引矩阵。看看这个问题: Find index of all (non-unique) elements in a cell array as they appear in a second (sorted and unique) cell array