Использование функции dirac (delta) в matlab не будет работать для дискретных функций, поскольку в результате получается Inf при n = 0.Вместо этого используйте значение 1 в нужных местах.Кроме того, u [n] - это ступенчатая функция, а в Matlab - функция Heavyiside.Он равен нулю для отрицательного x и 1 для положительного x, делая шаг точно при x = 0.
Следующий код отобразит все ваши функции:
n = -5:5
x = [0 1 0 0 0 1 1 0 0 0 0]; %x[n] from n =-5 to n=5
%y = 0.5.^n .* heaviside(n); %[y[n] from n =-5 to n=5
y = 0.5.^n .* [0 0 0 0 0 1 1 1 1 1 1]; %stepfunction from n =-5 to n=5
z = conv(x,y); %z[n] from n = -10 to n=10
subplot(3,1,1);stem(n,y1)
subplot(3,1,2);stem(n,y2)
subplot(3,1,3);stem(-10:10,y3)