Basic questions on conv function
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Senaasa
am 25 Jun. 2013
Kommentiert: Image Analyst
am 4 Apr. 2019
Hi,
Suppose I have the following code:
t=(-1:.1:5); %Time axis
for i=1:1:length(t);
if t(i)<0
a=0;
h(i)= 0;
f(i) = 0;
else
a=1;
h(i) = a.*exp(-2.*t(i));
f(i) = a.*exp(-t(i)./2);
end
end
u=conv(f,h,'same')*.1;
plot(t,h,t,f,t,u1)
I'm just trying to plot the convolution of these two basic functions. When I look at examples people just use conv and plot the data along with the original functions. But it doesn't seem that easy, the convolution set is larger than the original dataset, and it's shifted. By shifted I mean the plot of conv vs. t has amplitude before t=0. How does one correct for such things to display the functions and the convolution on the same graph?
Thanks a lot, Charles
3 Kommentare
Angus
am 25 Jun. 2013
Also this explanation and example might be helpful. The example at the end is similar to what you are doing.
Cheers
Akzeptierte Antwort
Senaasa
am 26 Jun. 2013
2 Kommentare
Michael Reshko
am 4 Apr. 2019
Could you please clarify what should be done.? Say I have two Gaussian PDFs, f, sampled on interval [-a, a]. What should be the x-axis values after conv(f,f)? Thanks
Image Analyst
am 4 Apr. 2019
Your first element will now corresponse to -a - a or -2a since the kernel goes more into the negative. So what was 0 no longer is at the a'th element, it's at the 2a'th element. Make adjustments if your array has more than 1 per element, but a fractional amount or something more than 1.
Weitere Antworten (3)
Image Analyst
am 26 Jun. 2013
You need to understand both what it's doing, and what you want. If you don't want data where the kernel is not completely overlapped with the main signal, then you can use the 'valid' option. If you want it to end when it's half overlapped, use the 'same' option. Most often I use the 'same' option because I want the data the same size as the original and don't really care too much what happens out near the edges. If you want the full convolution then you have to realize that the index no longer corresponds to the same part of the signal as the same number index did in the original signal. So if you're plotting, you have to take that into account.
sri sutha
am 8 Mär. 2017
I have use 13 convolutional layers for text extraction . please help me to write the coding.
1 Kommentar
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!