How should I fix my convolutional integral
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello all,
Actually, I am trying to convolve two functions (f and y)using the following MATLAB code:
close all;
clear all;
clc;
%set time vector
t0=0;
tf=100;
N=10000;
dt=(tf-t0)/N;
t=t0:dt:tf;
T0=60;
alpha=1;
beta=0.01;
%construct the firxt part of the convolution
for i=1:length(t)
if(t(i)<=T0)
y(i)=0;
else
y(i)=alpha+beta*(t(i)-T0);
end
end
%plot y(t)
subplot(1,2,1);
plot(t,y,'LineWidth',2);
title('y(t)');
%Second function of the convolution
f2= 0.08787*exp(-((t-63.08)/1.593).^2);
%Convolution of these 2 functions
z=conv(y,f2,'full');
con = z*dt;
subplot(1,2,2);
plot(t,f2,'LineWidth',2);
title('f2');
t = (1:length(con))*dt ;
hold on;
plot(t,con,'LineWidth',2);
I tried to use the guidlines in the following link to run a full convolutional integral :
Here are my results:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/276198/image.jpeg)
This result seems not to be reasonable because both my functions start rising at x=60 but my convolution starts rising at x=120. Can someone helps me with this problem.
1 commentaire
Matt J
le 9 Mar 2020
Modifié(e) : Matt J
le 9 Mar 2020
This result seems not to be reasonable because both my functions start rising at x=60
There's nothing unreasonable about that. That is theoretically what should happen if both functions start at t=60. For the convolution result to start at t=60, you need one of the signals to start at t=0.
Réponse acceptée
Matt J
le 9 Mar 2020
Modifié(e) : Matt J
le 9 Mar 2020
This might be what you want,
subplot(1,2,1);
ty=t;
plot(ty,y,'LineWidth',2);
title('y(t)');
%Second function of the convolution
f2= 0.08787*exp(-((t-63.08)/1.593).^2);
%Convolution of these 2 functions
z=conv(y,f2(find(f2,1):end),'same');
con = z*dt;
subplot(1,2,2);
plot(ty,f2,'LineWidth',2);
title('f2');
hold on;
tc=linspace(0,1,numel(con));
tc=tc/tc(2)*dt;
plot(tc,con,'LineWidth',2);
hold off
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/276204/image.png)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!