determine all cells are non-zero within a matrix

I am trying to determine if all of the numbers in "x" is non-zero values:
x = [1 1 0]
% 1:
if x ~= [0 0 0]
disp('x is not zeros')
end
% 2:
if all(x ~= 0)
disp('x is not zeros')
end
but the output is saying the x is zeros.
what mistake did I make?

4 Comments

Your second version seems fine. It should return false with that example as it is not all non-zero.
Pref_Color_offset = 0.1;
if all(Pref_Color ~= 0)
disp('yes')
for i = 1:1:3
if Pref_Color(i) >= Pref_Color_offset
Pref_Color_Darkened(i) = Pref_Color(i) - Pref_Color_offset;
else
Pref_Color_Darkened(i) = Pref_Color(i);
end
if Pref_Color_Darkened(i) >= (5*Pref_Color_offset)
Pref_Color_Darkened_More(i) = Pref_Color_Darkened(i) - (5*Pref_Color_offset);
else
Pref_Color_Darkened_More(i) = Pref_Color_Darkened(i);
end
end
else
disp('no')
Pref_Color_Darkened = [0.15 0.15 0.15];
Pref_Color_Darkened_More = [1 1 1];
end
This is what I have, with a input of: Pref_Color = [1 1 0]
However, I am getting an "no" as the output.
see:
>> Pref_Color = [1 1 0];
>> Pref_Color_offset = 0.1;
if all(Pref_Color ~= 0)
disp('yes')
for i = 1:1:3
if Pref_Color(i) >= Pref_Color_offset
Pref_Color_Darkened(i) = Pref_Color(i) - Pref_Color_offset;
else
Pref_Color_Darkened(i) = Pref_Color(i);
end
if Pref_Color_Darkened(i) >= (5*Pref_Color_offset)
Pref_Color_Darkened_More(i) = Pref_Color_Darkened(i) - (5*Pref_Color_offset);
else
Pref_Color_Darkened_More(i) = Pref_Color_Darkened(i);
end
end
else
disp('no')
Pref_Color_Darkened = [0.15 0.15 0.15];
Pref_Color_Darkened_More = [1 1 1];
end
no
>>
And why isn't this the expected answer? You are testing if all elements of Pref_Color are not equal to 0. Clearly this is false because the final element is 0 therefore it drops into your else block and reports 'no'.
Thanks for pointing out.
it should be
if ~all(Pref_Color == 0)
and now it is doing what I expected.

Sign in to comment.

 Accepted Answer

Your second if statement is correct, and I get the correct output (none).

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2016a

Asked:

on 3 Jul 2019

Commented:

on 3 Jul 2019

Community Treasure Hunt

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

Start Hunting!