MATLAB: How to use if command?

if statement

Say I have a table X = (columnA, columnB, columnC) What is wrong with the following command? The result is always columnB = columnA no matter what condition and which line. There are numbers in columnA smaller than 30 or larger than 90 just so you know. Thank you in advance!!
for i = 1:numel(columnA)
if 30 < columnA(i) < 90
columnB(i) = columnA(i);
else
columnB(i) = columnC(i);
end
end
end

Best Answer

30 < columnA(i) < 90 means the same as ((30 < columnA(i)) < 90) . The first part results in 0 (false) or 1 (true), and that 0 or 1 is then compared to 90 and since both are < 90, the result of the test is always true.
MATLAB does not have any range tests of the form A < x < B , with the exception that such ranges are sometimes recognized in some MATLAB versions but only in calls to piecewise()