Arrays 查找向量';s包含大于另一个向量中元素的元素的索引

Arrays 查找向量';s包含大于另一个向量中元素的元素的索引,arrays,matlab,Arrays,Matlab,假设在Matlab中,我有以下向量: X = [1 2 7 4 5 9 8] Y = [2 5] 我需要X中包含大于Y中元素的索引集。例如,这里需要的输出是 Z = [3 4 6 7] 我正在寻找一种有效的方法来做到这一点。有什么想法吗?提前谢谢 如果您的意思是它们大于Y中的所有元素 Z = X>max(Y); 但是,如果您的意思是它们大于,则Y中至少有一个元素 Z = X>min(Y); 我想到的一件简单的事情是:E=setdiff(X,Y);Z=E(E>mi

假设在Matlab中,我有以下向量:

X = [1 2 7 4 5 9 8]
Y = [2 5]
我需要X中包含大于Y中元素的索引集。例如,这里需要的输出是

Z = [3 4 6 7] 

我正在寻找一种有效的方法来做到这一点。有什么想法吗?提前谢谢

如果您的意思是它们大于Y中的所有元素

   Z = X>max(Y);
但是,如果您的意思是它们大于,则Y中至少有一个元素

   Z = X>min(Y);

我想到的一件简单的事情是:E=setdiff(X,Y);Z=E(E>min(Y));但是这有效吗?我不认为你在做什么,它在做你认为它在做的。哦。。谢谢你指出这一点。根据我之前的评论,我认为根据我的问题,Z=find(E>min(Y))。那应该会返回索引。谢谢!事实上,我不希望第二个向量中的元素用Z表示。在我的示例中,(如果不是很清楚,很抱歉),2和5(Y的元素)都被过滤掉了。我在第一条评论中的评论生成了我想要的结果。但我仍然想知道是否有什么有效的方法。再次感谢您的帮助。@mskb,很抱歉没有仔细阅读您的问题:)我认为您的方法已经非常有效了。