-3 < 0 despite abs(3) being greater -- as the error message says, the axis limits have to be in strictly ascending order numerically, not in the order they appear on the drawn figure above...
Unfortunately we can't copy/paste figures instead of text, but the culprit line above should be
%axes([0 20 k 0])
when k<0
You don't need an axis command here at all, though, it will be created automagically when call
k=-3;tau=4;
G=tf(k,[tau 1]);
step(G)
xlim([0 20])
is simpler way to get there, anyway...