File:Convolution Animation (Gaussian).gif

Description
English: A diagram showing the convolution of two Gaussian functions, (red) and (dashed blue). Also sohwn is the time-reversed and shifted g(τ−t) in blue, the product f(t)g(τ−t) (green) and the convolution h(t)=f(t)∗g(t) (black, equal to the area of the product at the particular τ)
Date
Source Own work
Author Inductiveload
Permission
(Reusing this file)
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
Category:Self-published work#Convolution%20Animation%20(Gaussian).gifCategory:PD-self#Convolution%20Animation%20(Gaussian).gif

Mathematica Code

(*Function definitions*)
f[t_] := Exp[-5 t^2];
g[t_] := Exp[-10 t^2]/2;
h[y_] := Module[
   {t},
   Convolve[f[t], g[t], t, y]
   ];

(*Parts of the drawing that only need to be computed once*)
constplots = Plot[
   {f[t], g[t], h[t]},
   {t, -2, 2},
   PlotStyle -> {Red, {Blue, Dashed}, Black},
   ClippingStyle -> False,
   Axes -> False,
   Exclusions -> False
   ];

anim =
  Table[Show[
    {
     (*The plots we generated earlier*)
     constplots,
     
     (*Plot the time reversed g[t], g[\[Tau]-t]*)
     Plot[g[\[Tau] - t],
      {t, -5, 5},
      PlotPoints -> 100,
      ClippingStyle -> False,
      PlotStyle -> Blue,
      Axes -> False],
     
     (*Plot the product of the f[t] and g[\[Tau]-t]*)
     Plot[f[t]*g[\[Tau] - t],
      {t, -5, 5},
      PlotPoints -> 100,
      ClippingStyle -> False,
      Filling -> Axis,
      FillingStyle -> Directive[Green, Opacity[0.2]],
      PlotStyle -> Green,
      Axes -> False],
     
     (*Plot the embellishments*)
     Graphics[
      {{Blue, Line[{{\[Tau], -0.05}, {\[Tau], 1.1}}]},
       {Red, Text[f, {.2, .95}, Background -> None]},
       {Blue, Text[g, {.2, .5}, Background -> None]},
       {Blue, 
        Text["g(\[Tau]-t)", {\[Tau] - 0.35, .4}, Background -> None]},
       {Green, 
        Text["f(t)g(\[Tau]-t)", {\[Tau] - 0.35, -0.04}, 
         Background -> None]},
       {Black, Text[Star[f, g], {0, .17}, Background -> None]},
       {Blue, Text["\[Tau]", {\[Tau], -0.1}, Background -> White]}
       }]
     },
    PlotRange -> {{-1.9, 1.9}, {-.2, 1}}],
   
   {\[Tau], -2, 2, .025}(*Table index is the time delay*)
   ];

ListAnimate[anim]

Export["anim.gif", anim]
Category:Convolution Category:Animated GIF files
Category:Animated GIF files Category:Convolution Category:PD-self Category:Self-published work