Splot funkcji Convolve[f,g,x,y]

Convolve[f,g,x,y] zwraca splot funkcji tzn: (f * g)(y) = (∫_(-∞)^∞)f(x) g(y-x)dx

Zadanie 1

Policz spolty funkcji:
a) δ(x) i f(x)
b) δ(x+5) i f(x)
c) Π(x) i Π(x)   (HeavisidePi)
d) (e^(-x))θ(x) i θ(x)   (HeavisideTheta)
e)  (e^(-x)) θ(x) i sin(x)
f) Λ(x) i 1-(x^2)    (HeavisideLambda)
g)(e^(-(x^2))) i (e^(-x))

Zadanie 2

Policz 
a) spolt funkcji  e^-x θ(x) z  e^-x θ(x)
b) splot rozwiazania z punktu a) z rozwiazaniem z punktu a) z zad 2
c) splot rozwiazania z punktu b) z rozwiazaniem z punktu b) z zad 2
d) splot rozwiazania z punktu c) z rozwiazaniem z punktu c) z zad 2
e) splot rozwiazania z punktu d) z rozwiazaniem z punktu d) z zad 2
Otrzymane funkcje przedstaw na jednym wykresie

DynamicModule

Przykład:

Moduł dynamiczny rysujący funkcje, które zostaną splecione.
Podczas  przesuwania suwaka rysuje się także ich splot.

DynamicModule[{y,f},
f[t_]=Convolve[HeavisidePi[x],HeavisidePi[x],x,t];
{Dynamic[Show[
Plot[{HeavisidePi[x],HeavisidePi[y-x]},{x,-3.5,3.5}] ,
Plot[f[t],{t,-3.5,y},PlotStyle->Green] ]]
,Slider[Dynamic[y],{-3,3,0.1}],Dynamic[y]} ]

Zadanie 3

Utwórz moduł dynamiczny z suwakiem (jak w przykładzie) dla poniższych funkcji

a) (e^(-x))θ(x) i θ(x)   (HeavisideTheta)
b)  (e^(-x)) θ(x) i sin(x)
c) Λ(x) i 1-(x^2)    (HeavisideLambda)
d) (e^(-(x^2))) i (e^(-x))

Transformacja Fouriera równania

Poniższa funkcja zwraca Transformacje Fouriera  równania lub ukadu równań

TransformataFourieraRownania[(r:List|Plus|Equal)[a__],x_,k_]:=
Map[TransformataFourieraRownania [#,x,k]&,r[a]]
TransformataFourieraRownania[a_,x_,k_]:=FourierTransform[a,x,k]

a__ - każda niezerowa liczba argumentów

(r:List|Plus|Equal) - funkcja r, która jest {},+lub==

Map[f,expr]   lub   f/@expr  - działa f na każdy element expr
np:

Map[f,{a,b,c}]

Przykad

Równanie dyfuzji
(∂/(∂t)) f(x,t) -  ((∂^2)/(∂(x^2))) f(x,t) = 0 
z warunkiem poczatkowym f(x,0)=δ(x)

TransformataFourieraRownania[{-D[ f[x,t],{x,2}]+ D[ f[x,t],{t,1}]==0,f[x,0]==DiracDelta[x]},x,k]

Zamieniamy FourierTransform[f[x,t],x,k] na u[k,t]:

rownania=TransformataFourieraRownania[{-D[ f[x,t],{x,2}]+ D[ f[x,t],{t,1}]==0,f[x,0]==DiracDelta[x]},x,k]/.{
FourierTransform[f[x,0],x,k]->u[k,0],
FourierTransform[f[x,t],x,k]->u[k,t],
FourierTransform[D[f[x,t],t],x,k]->D[u[k,t],t]
}

Rozwiązujemy równań na u[k,t]:

roz=DSolve[rownania,u[k,t],t]

rozU[k_,t_]=u[k,t]/.roz[[1]]

Rozwiązanie pierwotnego równania to odwrotna transformata Fouriera rozwiązania rozU[k,t]

rozF[x_,t_]=InverseFourierTransform[rozU[k,t],k,x]

Zadanie 4

Rozwiaz ponizsze rownania poprzez znalezienie rozwiazania ich transformacji Fouriera oraz przeksztalcenie rozwiazania odwrotna trzensformacja Fouriera:

a)
c(∂/(∂x)) f(x,t) +  (∂/(∂t)) f(x,t) = 0 
z warunkiem poczatkowym f(x,0)=g(x)
b)
((∂^2)/(∂(t^2))) f(x,t) + ((∂^2)/(∂(x^2))) f(x,t) = 0 
z warunkiem poczatkowym f(x,0)=0 , (∂/(∂t)) f(x,0) = (e^(-(x^2)))
c)
((∂^2)/(∂(t^2))) f(x,t) -((∂^2)/(∂(x^2))) f(x,t) = 0 
z warunkiem poczatkowym f(x,0)=0 , (∂/(∂t)) f(x,0) = 1
d)
((∂^2)/(∂(t^2))) f(x,t) -2((∂^2)/(∂x∂t)) f(x,t)+2((∂^2)/(∂(x^2))) f(x,t) = 0 
z warunkiem poczatkowym f(x,0)=0 , (∂/(∂t)) f(x,0) = 1