So I have this code where I need to calculate taxes over a salary entered by the subject. This subject may enter any Province marked by abbreviations such as 'ON', 'AB' and 'PE' and they are put in a cell array called B. I do not understand why even if i do not enter the said Province, MATLAB does execute this if statement and thus calculate taxes for every Province. Do you guys have a solution so the said code does not execute?
Note : This is only part of a code, the rest of it is pretty much a copy of this code only with the 'ON' changed for another Province string. There is also no error shown, the program only executes all of it and displays it.
EDIT : I did join my .m file, according to Star Strider's comment
W = isempty(strfind(B,'ON')); if W if Salary <= 36848 ON = 0.0605*Salary; elseif 36848.01 <= Salary & Salary <= 73698 ON = 0.0915*Salary; elseif Salaire > 73698 ON = 0.1116*Salary; end fprintf('%.2f en Ontario\n',ON) end
Thank you all,
tl dr : MATLAB executes the program even if the cell does not contain what it has to find to execute.
Best Answer