Asked by huda nawaf
on 17 Mar 2013

hi,

I want code do the following without using for,if let unique_x is a vector

t=1; for v=1:length(z) a1=find(unique_x==z(v)); if isempty(a1) evaluation(t)=z(v); t=t+1; end end

thanks in advance

*No products are associated with this question.*

Answer by Cedric Wannaz
on 17 Mar 2013

Accepted answer

I think that you'll want something along the line of the following example:

>> z = [3 5 7] ; >> unique_x = [1 2 7 8 9 3] ; >> evaluation = z(~ismember(z, unique_x)) evaluation = 5

Answer by Walter Roberson
on 17 Mar 2013

setdiff(z, unique_x)

provided that you do not care about the order of the results, and there are no duplicate values in z.

Opportunities for recent engineering grads.

## 2 Comments

## the cyclist (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/67529#comment_137030

It would be easier for us to help you if you supplied a small example of self-contained code that runs from start to finish. Specifically, telling us a small example of

unique_xandzwould help.## huda nawaf (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/67529#comment_137052

many thanks