MATLAB: Finding a needle in a matrix

matrix array

Hello,
Let's say I have a 10 x 10 matrix filled with numbers (10 X 10 double) which can only be 1, 2 or 3. I need a code that returns an error if there's any other number in there, like say a 4 or an 8. I would have thought that:
if Y ~=1|Y ~=2|Y ~=3
disp('error')
return,
end
would work but it always returns an error message. Any ideas?
Thank you

Best Answer

if not(all(ismember(Y(:),[1 2 3])))
disp('error')
end