Une équation différentielle

Bonjour

Je cherche à résoudre l'équation suivante:

$\displaystyle y(x)=1+\int_0^1 y(x-u)du$

avec la condition $y(1)=e$

J'ai essayé avec le site wolframalpha mais la syntaxe que j'utilise y(x)=1+integral(0, 1, y(x-u)du) n'est pas comprise

merci

PS Je peux rajouter qu'entre 0 et 1 on a $y(x)=e^x$, y est continue, et si une expression ne peut être trouvée, est ce qu'un calcul numérique est possible ?

Réponses

  • Il ne s'agit pas d'une équation différentielle. L'équation en elle-même n'implique pas que $y$ est dérivable où que ce soit.
  • Pardon de te contredire Poirot, mais si $y$ satisfait la relation pour tout $x$ reel et est localement integrable , alors elle est $C^{\infty}$ car $y(x)=1+\int_{x-1}^xy(t)dt.$ L'equation differentielle-avec retard
    $y'(x)=y(x)-y(x-1)$ a beaucoup de solutions de la forme $e^{zx}$ avec $z$ dans l'ensemble $Z$ des zeros de la fonction entiere $e^{-z}-1-z$ (qui fournissent des solutions reelles $e^{ax}\cos bx$ et $e^ax\sin bx$) quand $z=a+bx$ et beaucoup de solutions formelles $y(x)=\sum _{z\in Z}a_ze^{zx}.$ Mais pour avoir $y(x)=e^x$ sur $[0,1]$ j'ai un petit doute sur son existence.
  • Bonjour,

    Dès que \(y\) est continue, elle est dérivable avec:
    \[y'(x) = \int_0^1 y'(x-u)\,du = \bigl[-y(x-u)\bigr]_{u=0}^{u=1} = y(x)-y(x-1).\]

    Tu sembles connaître (comment ?) sur \([0,1]\) ; je suppose donc, que :
    \[\forall x \in]0,1[ \qquad y(x)=e^x,\]
    et j'obtiens :
    \[\forall x\in]0,1[ \quad y(x-1)=y(x)-y'(x)=0 \iff \forall x\in]-1,0[ \quad y(x)=0.\]

    Je connais désormais \(y\) sur \(\left]-1,0\right[\) et sur \(]0,1[\), mais j'ai un gros problème de raccord par continuité en 0.
  • Bonjour,

    Puisque $\int_{0}^{1} du y(x-u)=y(x)-1$ alors la fonction $x \mapsto y(x)-1$ est dérivable et donc continue (par le théorème fondamental de l’analyse). Après dérivation, $y’(x)=y(x)-y(x-1)$ et la fonction $y$ est aussi de classe $C^1$ : la fonction est donc de classe $C^2$ et donc indéfiniment dérivable (par récurrence).
    Pour résoudre $y’(x)=y(x)-y(x-1)$ on considère la transformée de Laplace de la fonction $y$ pour laquelle on établit une équation que l’on inverse par la transformation de Laplace inverse sous la forme d’une intégrale de contour.
    Ou alors on pose $y(x)=e^{s x}$ et on obtient l’equation caractéristique pour $s$ complexe. La solution $y$ est donc de la forme $\sum p_s(x) e^{s x}$ avec $p_s$ polynôme dont le degré est la multiplicité de la racine $s$...
    En général les calculs sont horribles.
    Il faudrait aussi vérifier les conditions précises de l’énoncé : souvent cette equation est valide pour $x>1$ et $y(x)$ est donnée pour $0\leq x\leq 1$... Je ne m’aventure pas dans les calculs sans avoir la confirmation de l’énoncé.
  • Hum oui, j'aurais du réfléchir plus de trente secondes avant de poster !
  • bonjour

    @YvesM: Oui, l'équation de départ n'est valide que pour $x \gt 1$ et y est donnée sur [0, 1] par $y(x)=e^x$

    Cette équation est liée à un problème de probabilité.

    On tire au sort un réel entre 0 et 1 selon une loi uniforme puis on répète l'opération jusqu'à ce que la somme des réels obtenus dépasse x. On considère la variable aléatoire $N_x$ égale au nombre de réels tirés au sort quand la somme dépasse x.

    On s'intéresse à l'espérance $m(x) = E(N_x)$

    Le cas x=1 a été traité ici par aléa (4 ans déjà !) http://www.les-mathematiques.net/phorum/read.php?12,867811,867823#msg-867823

    Tout récemment je suis tombé sur l'expression de $m(x)$ pour $0 \le x \le 1$, $m(x) = e^x$, voici comment on y arrive:

    Je rappelle la formule $\displaystyle E(X) = \sum_i E(X/B_i)Pb(B_i$) où X est une v.a.r et $B_i$ un système complet d'évènements.
    On appelle U la v.a.r correspondant au 1er réel tiré au sort.

    si $U \ge x$ alors $E(N_x/(U \ge x)) = 1$ et $Pb(U \ge x) = 1-x$
    si $U\!=\!u \lt x$ alors $E(N_x/(U=u \lt x)) = 1 +E(N_{x-u})$ et $Pb(u<U<u+du) = du$

    d'où $\displaystyle E(N_x) = 1*(1-x) + \int_0^x (1+E(N_{x-u}))du$

    en posant $m(x) = E(N_x)$

    $\displaystyle m(x) = 1-x + \int_0^x (1 + m(x-u))du$
    $\displaystyle m(x) = 1 + \int_0^x m(u)du$
    $\displaystyle m'(x) = m(x)$
    $\displaystyle m(x) = e^x$ (pour $0 \le x \le 1$)

    Maintenant considérons le cas $x \gt 1$

    On trouve:
    $\displaystyle m(x) = \int_0^1 (1+m(x-u))du = 1 + \int_0^1 m(x-u)du = 1 + \int_{x-1}^x m(u)du$
    qui est l'équation de mon premier message
  • Bonjour,

    Je crois bien qu'il n'y a pas de solution facile à utiliser (on peut obtenir des expressions intégrales et sommes de résidus, mais ça reste théorique).

    Une piste à exploiter : $u(x) = \sum_{n \in \Z} p_n e^{r_n x}, x >1$ avec $r_n$ solution complexe de $r_n-1-e^{-r_n}=0$ qui sont $r_n = W_n(1/e)+1, n \in \Z$ avec $W_n$ la fonction produit logarithmique...
    Comme $u(1) = e$ on a $\sum_{n \in \Z} p_n e^{r_n }= e.$
    Il faut insérer dans l'équation initiale : $y(x) = 1 + \int_{x-1}^{x } y(u) du, x >1$ pour imposer d'autres contraintes ou pas...
    On finit par conclure que les solutions sont de la forme... pourvu que la série converge, ce qui ajoute une dernière contrainte sur les $p_n.$

    Je ne sais pas si on aboutit à quelque chose d'utile. Tu peux essayer avec $u(x) = ae^{\alpha x} + be^{\beta x} $... à la main.

    Tu peux entrer : differential difference equation R374 dans Google et lire presque tout ce qu'on peut dire sur ces équations...
  • Je tiens la solution

    Partons de l'équation:

    $y'(x) = y(x) -y(x-1)$ avec $y(x) = e^x$ entre 0 et 1

    C'est une équation différentielle avec délai. Il y a une page wikipédia ici qui est consacrée à ces équations.

    La résolution se fait par pas.

    Entre 0 et 1

    La solution est donnée, $y = e^x$

    Entre 1 et 2

    $y'(x) = y(x) -e^{x-1}$
    solution:
    $y(x) = (e+1-x)*e^{x-1}$ (une constante est déterminée avec la continuité en 1)

    Connaissant maintenant la solution entre 1 et 2, on pourrait rechercher la solution entre 2 et 3, et ainsi de suite.

    Je remarque que la fonction $y$ n'est pas dérivable en 1 (dérivée à gauche = e et dérivée à droite = e-1)

    J'ai simulé l'expérience du tirage de réels jusqu'à ce que la somme dépasse x avec le programme python suivant. Le résultat avec la simulation, càd le nombre moyen de réels tirés quand la somme dépasse x, correspond bien à la formule trouvée quand x est entre 1 et 2
    from random import random
    
    mean_tmp = 0
    nb_of_trials = 10000000
    x = 2 
    
    for i in range(nb_of_trials):
        sum = 0
        n = 0
        while sum < x:
            sum += random()
            n += 1
        mean_tmp += n
    
    mean_simu = mean_tmp/nb_of_trials
    
    print(mean_simu)
    
  • Bonjour,

    Effectivement, la solution que tu proposes correspond à cet énoncé :

    Trouver une fonction $y$ définie et continue sur $x \geq 0$ telle que $y(x) = e^x, 0 \leq x \leq 1$ et $y'(x) = y(x) - y(x-1), x \geq 1.$ La méthode du prolongement à droite marche bien... des fois une récurrence donne la forme de la solution sur tout $x$ et des fois la récurrence n'est pas évidente à trouver... (je pense que c'est faisable dans ce cas). La discontinuité de la dérivée en $1$ peut disparaître selon la fonction 'condition initiale', ici $x \mapsto e^x$...
  • Je suis allé au bout (grâce au site wolframalpha pour les calculs)
    de 0 à 1: 1/1  * exp(x)
    de 1 a 2: 1/1  * exp(x-1) * (                                             -         (x-1) +    e)
    de 2 a 3: 1/2  * exp(x-2) * (                                    (x-2)**2 -  2*e   *(x-1) +  2*e**2)
    de 3 a 4: 1/6  * exp(x-3) * (          -     (x-3)**3 +  3*e    *(x-2)**2 -  6*e**2*(x-1) +  6*e**3)
    de 4 a 5: 1/24 * exp(x-4) * ( (x-4)**4 - 4*e*(x-3)**3 + 12*e**2 *(x-2)**2 - 24*e**3*(x-1) + 24*e**4)
    

    La forme générale apparaît bien:

    $\displaystyle y(x) = \left( \sum_{k=0}^{\lfloor x \rfloor} \frac{(-1)^k}{k!} e^{\lfloor x \rfloor -k} (x-k)^k \right) e^{x-\lfloor x \rfloor}$

    J'ai vérifié cette formule avec une simulation comme précédemment
    from random import random
    from math import floor, factorial, exp
    
    
    def m(x):
        n = floor(x)
        res = 0
        for k in range(n+1):
            res += ((-1)**k)/factorial(k) * (x-k)**k * exp(n-k)
        res = res * exp(x-n)
        return res
    
    
    nb_of_trials = 200000
    
    for x in range(1, 100):
        x /= 10
        mean_tmp = 0
        for i in range(nb_of_trials):
            sum = 0
            n = 0
            while sum < x:
                sum += random()
                n += 1
            mean_tmp += n
    
        mean_simu = mean_tmp/nb_of_trials
        
        print("x=%8.4f mean_simu= %8.4f mean_theoric= %8.4f error=%5.2f%%" % \
              (x, mean_simu, m(x), abs(m(x)-mean_simu)/m(x)*100))
    

    le début du fichier de sortie
    x=  0.1000 mean_simu=   1.1054 mean_theoric=   1.1052 error= 0.02%
    x=  0.2000 mean_simu=   1.2206 mean_theoric=   1.2214 error= 0.07%
    x=  0.3000 mean_simu=   1.3493 mean_theoric=   1.3499 error= 0.04%
    x=  0.4000 mean_simu=   1.4915 mean_theoric=   1.4918 error= 0.02%
    x=  0.5000 mean_simu=   1.6506 mean_theoric=   1.6487 error= 0.12%
    x=  0.6000 mean_simu=   1.8245 mean_theoric=   1.8221 error= 0.13%
    x=  0.7000 mean_simu=   2.0136 mean_theoric=   2.0138 error= 0.01%
    x=  0.8000 mean_simu=   2.2287 mean_theoric=   2.2255 error= 0.14%
    x=  0.9000 mean_simu=   2.4588 mean_theoric=   2.4596 error= 0.03%
    x=  1.0000 mean_simu=   2.7165 mean_theoric=   2.7183 error= 0.07%
    x=  1.1000 mean_simu=   2.8959 mean_theoric=   2.8936 error= 0.08%
    x=  1.2000 mean_simu=   3.0753 mean_theoric=   3.0758 error= 0.02%
    x=  1.3000 mean_simu=   3.2643 mean_theoric=   3.2643 error= 0.00%
    x=  1.4000 mean_simu=   3.4613 mean_theoric=   3.4585 error= 0.08%
    x=  1.5000 mean_simu=   3.6555 mean_theoric=   3.6573 error= 0.05%
    x=  1.6000 mean_simu=   3.8641 mean_theoric=   3.8598 error= 0.11%
    x=  1.7000 mean_simu=   4.0624 mean_theoric=   4.0643 error= 0.05%
    x=  1.8000 mean_simu=   4.2733 mean_theoric=   4.2692 error= 0.10%
    x=  1.9000 mean_simu=   4.4721 mean_theoric=   4.4723 error= 0.00%
    x=  2.0000 mean_simu=   4.6679 mean_theoric=   4.6708 error= 0.06%
    x=  2.1000 mean_simu=   4.8583 mean_theoric=   4.8671 error= 0.18%
    x=  2.2000 mean_simu=   5.0667 mean_theoric=   5.0653 error= 0.03%
    

    et un graphe (en bleu) de la fonction, en marron la fonction y=2x. Il semble y avoir un écart constant de 2/3 entre les 2 courbes pour x "grand".72826
Connectez-vous ou Inscrivez-vous pour répondre.