Équation différentielle (Runge Kutta4)_Scilab

Bonsoir,
J'ai un TP à faire sur la résolution d'équation différentielle avec plusieurs méthodes, c'est-à-dire Euler, Taylor2 et RungeKutta4.
Voici l'équation différentielle : $$y\,'+2y=t^2 $$ avec une condition initiale : $y(0)=1.$
En résolvant cette équation, on obtient $$ y(t)=\frac 3 4 e^{-2t}+\frac 1 2 t^2-\frac 1 2 t+\frac 1 4$$
function[y]=yRungeKutta4(t,pas)
    y(1)=1
    for i=1:(length(t)-1)
        k1=
        k2=(y(i)+(pas/2)*k1)+t(i)+(pas/2)+1
        k3=(y(i)+(pas/2)*k2)+t(i)+(pas/2)+1
        k4=(y(i)+pas*k3)+(t(i)+pas)+1
        y(i+1)=y(i)+(pas/6)*(k1+2*k2+2*k3+k4)
    end
endfunction 
Je ne vois pas comment déterminer $k_1$. Or, $k_1= f(t_i,y_i).$
Je vous remercie d'avance pour vos aides.
Cordialement.

[Pourquoi ne pas profiter de $\LaTeX$ ? ;-) AD]

Réponses

  • Il faut déterminer f, ce qui se fait en mettant ton équation sous la forme y'=f(t,y)
  • Bonjour Héhéhé,
    Merci beaucoup pour votre réponse, mais je ne comprends pas comment mettre mon équation sous la forme $y’=f(t,y).$
    \begin{align*}
    y’&=t^{2} + 2y(t)\\
    y’&=+ \frac{3}{2}e^{-2t} + 2t^{2} - t + \frac{1}{2}
    \end{align*} Est-ce bien ça ?
    Merci.
  • Je suis impressionné. Du système
    \begin{align*}
    y’&=t^{2} + 2y(t)\\
    y’&=+ \frac{3}{2}e^{-2t} + 2t^{2} - t + \frac{1}{2}
    \end{align*}
    on tire immédiatement une expression de $y$, plus précisément
    \[y(t)=\frac12\Bigl(-t^2+ \frac{3}{2}e^{-2t} + 2t^{2} - t + \frac{1}{2}\Bigr).\]
    C'est magnifique cette méthode, elle résout les équations différentielles sans rien faire de différentiel ! (Même si j'ai un peu du mal à croire que je vais obtenir les deux expressions différentes en dérivant.)
  • Bonsoir

    juste une remarque : de $y'+2y=t^2$ on obtient $y'=t^2-2y$ et pas $y'=t^2+2y$, et donc $k_1=t_i^2-2y_i$.

    Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.