The title and grid functions do not apply until the axes are created. Also, there are two ‘subplot(2,3,1)’ creations, the second overwrites the first. (I added the subplot numbers to the title calls for clarity. Edit those out those later.)
Try this —
% clc
% clear
u = @(t) double(t>=0);
h = @(t) u(t+1).*(t+1)-u(t).*(3/2).*(t)+u(t-2).*0.5.*(t-2);
p= @(t) h(2*t);
p1= @(t) h(0.5*t);
p2= @(t) h(t-1);
p3= @(t) h(2-t*0.5);
figure
subplot(2,3,1)
fplot(h,[-5,5])
grid
title('x 231')
ylim([-2 4])
% subplot(2,3,1)
% fplot(h,[-5,5])
% ylim([-2 4])
subplot(2,3,2)
fplot(p,[-5,5])
title('x 232')
ylim([-2 4])
subplot(2,3,3)
fplot(p1,[-5,5])
title('x 233')
ylim([-2 4])
subplot(2,3,4)
fplot(p2,[-5,5])
title('x 234')
ylim([-2 4])
subplot(2,3,5)
fplot(p3,[-5,5])
title('x 235')
ylim([-2 4])
.