Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Am I implementing the convolutional integral correctly?

1 visualización (últimos 30 días)
Faezeh Manesh
Faezeh Manesh el 5 de Mzo. de 2020
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
Hello all,
Actually, I am trying to calculate the convolutional integral of two functions using the following code:
close all;
clear all;
clc;
%set time vector
t = linspace(0,85,16384);
T0=60;
alpha=1;
beta=0.1;
%construct the first part of the convolution
for i=1:size(t,2)
if(t(i)<=T0)
y(i)=alpha/1.5;
else
y(i)=(alpha+beta*(t(i)-T0))/1.5;
end
end
%plot the first function of the convolution
figure;
plot(t,y,'linewidth',2);
ylim([-1 3.5]);
set(gca,'fontsize',14,'fontweight','bold');
grid on;
xlabel('t');
ylabel('y(t)');
title('First function of the convolution');
%second part of the convolution
for i=1:size(t,2)
f2(i) = 0.08787*exp(-((t(i)-63.08)/1.593).^2);
end
%plot the second function of the convolution
figure;
plot(t,f2,'linewidth',2);
legend('f2')
xlim([50 85]);
set(gca,'fontsize',14,'fontweight','bold');
grid on;
xlabel('t');
ylabel('f2(t)');
title('Second function of the convolution');
%compute the convolution using matlab function
z2 = median(diff(t))*conv(y,f2,'same');
%plot the matlab convolution
figure;
plot(t,z2,'linewidth',3);
legend('f2*y')
grid on;
xlabel('t');
ylabel('y_*f');
title('Result of the convolution');
hold on;
The first and second part of my convolutional integral are as follows:
and the result of the convolution is as follows:
But the strange point is that both of my functions (y and f2) are constant until t=60 but the result of the convolution starts from t=20. I don't know what's wrong with my implementation. Does anyone have any idea regarding my code? Am I implementing the convolutional integral correctly?

Respuestas (0)

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by