Enter the following code in to your MATLAB editor. You could see how the convolution of two function in calculated. Try the same for your functions.
clc; clear all; t = 0 : 0.05 : 4; x = inline ('(exp(-0.001*t)).*(t >= 0)','t'); h = inline ('(exp(-0.001*t).*(t >= 0)) + (exp(-3*t)).*(t>=0)','t'); dtau = 0.005; tau = -1:dtau:4; ti = 0; tvec = -0.25:0.1:3.75; y = NaN * zeros (1, length (tvec)); figure(1); for t= tvec ti = ti + 1; xh = x(t - tau) .* h(tau); y(ti) = sum (xh .* dtau); subplot(2,1,1), plot(tau, h(tau), 'k-', tau,x(t-tau),'k--',t,0,'ok'); axis([tau(1) tau(end) -0.25 3]); subplot(2,1,2), plot(tvec, y, 'k', tvec(ti), y(ti),'ok'); axis([tau(1) tau(end) -0.25 5]); drawnow; pause(0.1); end
No comments:
Post a Comment