MATLAB: How to plot convolution of rect(t/2)*sgn(t)

convconvolutionintegralplotplotting

The exercise I am trying to complete requires me to: Compute and plot the following convolution integral by using "conv.m" in MATLAB. rect(t/2)*sgn(t)
CODE 1 t=-5:0.01:5; 2 x=abs(t)<1; 3 h=sign(t); 4 y=conv(x,h); 5 plot(t,y);
ERRORS Error using conv2 First and second arguments must be single or double.
Error in conv (line 39) c = conv2(a(:),b(:),shape);
Error in three (line 4) y = conv(x,h);

Best Answer

You have to make the small adjustment of plotting every other value of y (since y is about twice the length of t), but if you want to plot y as a function of t, this will work:
t = -5:0.01:5;
x = double(abs(t) < 1)); % Convert logical to double
h = sign(t);
y = conv(x,h);
figure(1)
plot(t,y(1:2:end)) % Plot every other value of y