How to use an if statement with isempty(strfind()) as a condition?
Show older comments
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.
Accepted Answer
More Answers (0)
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!