Résolvez un problème de valeur initiale en utilisant une fonction de Green
Résolvez un problème de valeur initiale pour une équation différentielle inhomogène en utilisant GreenFunction.
En premier lieu, calculez la fonction de Green.
In[1]:=
![Click for copyable input](assets.fr/solve-an-initial-value-problem-using-a-greens-func/In_114.png)
gf[s_, t_] =
GreenFunction[{-u''[t] + u'[t] - 37/4 u[t], u[0] == 0, u'[0] == 0},
u[t], {t, 0, \[Infinity]}, s]
Out[1]=
![](assets.fr/solve-an-initial-value-problem-using-a-greens-func/O_61.png)
Définissez une fonction de forçage.
In[2]:=
![Click for copyable input](assets.fr/solve-an-initial-value-problem-using-a-greens-func/In_115.png)
f[t_] := Cos[a t]
La convolution de la fonction de Green avec la fonction de forçage permet d'obtenir la solution.
In[3]:=
![Click for copyable input](assets.fr/solve-an-initial-value-problem-using-a-greens-func/In_116.png)
sol = Integrate[gf[s, t] f[s], {s, 0, \[Infinity]},
Assumptions -> t > 0]
Out[3]=
![](assets.fr/solve-an-initial-value-problem-using-a-greens-func/O_62.png)
Comparez avec le résultat donné par DSolveValue.
In[4]:=
![Click for copyable input](assets.fr/solve-an-initial-value-problem-using-a-greens-func/In_117.png)
DSolveValue[{-u''[t] + u'[t] - 37/4 u[t] == f[t], u[0] == 0,
u'[0] == 0}, u[t], t] // FullSimplify
Out[4]=
![](assets.fr/solve-an-initial-value-problem-using-a-greens-func/O_63.png)
Tracez la solution pour différentes valeurs du paramètre .
In[5]:=
![Click for copyable input](assets.fr/solve-an-initial-value-problem-using-a-greens-func/In_118.png)
Plot[Table[sol, {a, 1, 4, 0.8}] // Evaluate, {t, 3, 6}]
Out[5]=
![](assets.fr/solve-an-initial-value-problem-using-a-greens-func/O_64.png)