MATLAB Answers

huda nawaf

code without using for

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

  2 Comments

the cyclist
on 17 Mar 2013

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_x and z would help.

huda nawaf
on 17 Mar 2013

many thanks

Tags

Products

No products are associated with this question.

2 Answers

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

  1 Comment

huda nawaf
on 17 Mar 2013

many thanks


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.

  1 Comment

huda nawaf
on 17 Mar 2013

many thanks


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today