0

我需要从另一个矩阵 {data} <259x31878> 中找到我的矩阵 {a} <259x1> 的行和列坐标。我尝试使用 for 循环,但不确定如何使用矩阵列表 {a} 实现 for 循环。请帮助任何人。谢谢你。

更新:很抱歉造成混乱。是的,矩阵 {a} 是矩阵 {data} 的子集。或者,矩阵 {data} 是矩阵 {a} 的超集。我需要在矩阵 {data} 中找到矩阵 {a} 的值的行和列位置。如您所见,矩阵 {data} 太大,单独搜索每个数据点是不切实际的。再次感谢。

4

3 回答 3

2
a(:,ones(1,size(data,2)))==data

这会产生您可以使用的逻辑索引,也可以使用 find 转换它们:

[r c]=find(a(:,ones(1,size(data,2)))==data)
于 2012-07-31T07:34:23.393 回答
1

检查 matlab ismemeber函数。

于 2012-07-31T04:04:47.613 回答
1

ismember 的第二个输出呢?它为您提供位置而不是逻辑索引矩阵。看看这个问题: Find index of all (non-unique) elements in a cell array as they appear in a second (sorted and unique) cell array

于 2012-07-31T07:55:09.560 回答