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