How can I compare two logical vectors to a value?

21 次查看(过去 30 天)
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

采纳的回答

Arthur
Arthur 2012-12-5
logi = ~logix & ~logiy

更多回答(1 个)

Jos (10584)
Jos (10584) 2012-12-5
编辑:Jos (10584) 2012-12-5
or via De Morgan (<http://en.wikipedia.org/wiki/De_Morgan%27s_laws>)
logi = ~(logix | logiy)

类别

Help CenterFile Exchange 中查找有关 Elementary Math 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by