Algorithm 1.If signal value is in between 5 & -5 , it should be given directly as out put. 2.If signals value is greater than 5 or less than -5 , its rate of rise or rate fall should be constrained by rate limiter.
MATLAB evaluates left to right so that the first part (-5 < u1) is either true or false, 1 or 0. Then you would have either (0 < 5) or (1 < 5), which is always true, and your switch will never change. See alsoWhy is Answer to 3 < A < 7 Unexpected?
(Also, your model is aliasing. You need to set your max step size based on the frequency of your sign wave. Perhaps you have learned how to calculate theNyquist rate?)