MATLAB Answers

jan
0

How can I compare two logical vectors to a value?

Asked by jan
on 5 Dec 2012
I want to do the following without loops:
logix = [1;0;0;1;1;1;0;0;0];
logiy = [0;1;1;0;1;0;0;1;1];
logi = zeros(size(logix,1),1);
for i = 1:size(logix,1)
if logix(i)==0
if logiy(i)==0
logi(i)=1;
else logi(i)=0;
end
else logi(i)=0;
end
end
logix and logiy are logical vectors (same size) and I want logi to be the vector that is 1 if logix and logiy are 0 in the same row or 0 if not. Thanks in advance, regards, jan

  0 Comments

Sign in to comment.

2 Answers

Answer by Arthur
on 5 Dec 2012
 Accepted Answer

logi = ~logix & ~logiy

  1 Comment

thx

Sign in to comment.


Answer by Jos (10584)
on 5 Dec 2012
Edited by Jos (10584)
on 5 Dec 2012

or via De Morgan (<http://en.wikipedia.org/wiki/De_Morgan%27s_laws>)
logi = ~(logix | logiy)

  1 Comment

stupid hyperlinks ...

Sign in to comment.