0

这个问题是关于 Matlab 函数ismember或替代方法的

我有一个向量 X,其中包含多次出现的 Y,我想知道 Y 出现的行,所有这些行不只是一个。这个向量在我的代码中会更大,所以任何关于效率/时间节省的建议都将不胜感激。

我的代码如下:

X = [1 1 0 1 1 0 1 0 1]'

Y=0

[~,indx]=ismember(Y,X,'rows')

我得到的输出是:

指数 =

 8

理想情况下,我希望输出类似于以下内容:

指数 =

[3 6 8]

是否有可能获得此解决方案,ismember或者我应该查看类似find功能的东西?

一如既往,非常感谢您的时间和帮助。

4

1 回答 1

0

要获取所有匹配元素的索引,可以使用find函数。这正是你所描述的。

正如Shai 在评论中提到的那样,逻辑索引是解决您的问题的另一个潜在解决方案,这可能会有效,具体取决于您以后打算做什么。最好熟悉这两种方法。

于 2013-07-03T11:18:10.433 回答