Why is the convolution so different from the analytical answer?

I am trying to graph the convolution of two functions.
t = linspace(0,5,1001);
xt = (exp(-t) + exp(-3*t)).*heaviside(t);
ht = (1.5.*exp(-2.*t) + 1.5.*exp(-4.*t)).*heaviside(t);
yt_n = conv(xt,ht);
yt_a = (2.*exp(-1.*t)-2.*exp(-4.*t)).*heaviside(t)
When comparing yt_n and yt_a, the results are very different. Though, they should be the same since yt_a is just the analytically derived output response for x(t) and y(t), Why is this?

 采纳的回答

When approximating the continuous convolution with a discrete convoluton, the discrete convolution needs to be multilplied by dt, which in this case is 0.005
plot(t,yt_a,t,yt_n(1:numel(t))*.005,'o'),grid

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Stochastic Differential Equation (SDE) Models 的更多信息

产品

版本

R2019b

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by