Intégrale "à retard" : approximation — Les-mathematiques.net The most powerful custom community solution in the world

Intégrale "à retard" : approximation

Bonjour tout le monde
Je souhaiterais avoir des approximations numériques de $M(x),$ où $M$ est définie de la façon suivante :
* $M(x)=0$ pour $0\leq x<1$
* $M(x)=1$ pour $1\leq x <2$
* Pour $x\geq 2$ on a
$$
M(x)=1+\frac{2}{x-1}\int_0^{x-1}M(t)dt.

$$ (Pour info cette intégrale apparaît dans l'analyse du modèle appelé "Parking de Rényi" : Lien (Wolfram).)

On peut avoir de jolies formes explicites pour $M$ jusqu'à $x=4$, ensuite ça se dégrade. Pour approcher $M$ plus loin j'ai réitéré une approximation intégrales/rectangles pour approcher $M$ sur un intervalle $[n,n+1]$ à partir de $M$ sur $[n-1,n]$. Mais bien sûr mes erreurs se propagent donc ça me paraît très inefficace.

Je n'y connais rien en intégrales "à retard", est-ce que quelqu'un connaît une méthode élégante et efficace numériquement pour approcher $M(x)$ ?

Réponses

  • Bonjour,

    Vérifie l'énoncé. Cette fonction se calcule de tête : le membre de droite est la valeur moyenne d'une fonction constante...

    J'ai mal lu les bornes de l'intégrale...
  • Hello,
    en découpant l'intégrale en $[0,x-2]$ et $[x-2,x-1]$, je trouve :
    $$M(x)=1 + \frac{x-2}{x-1}(M(x-1)-1)+\frac{2}{x-1} \int_{x-2}^{x-1} M(t) \mathrm dt $$
    Cela te montre que l'on peut s'en sortir en calculant une intégrale sur un segment de longueur constante ($=1$), ce qui améliorera peut-être la chose : notamment, pas besoin d'augmenter le nombre de points pour avoir une bonne approximation de l'intégrale
  • @nimajneb : Oui effectivement on peut ne calculer que des intégrales de longueur 1 mais les erreurs que l'on va faire pour l'intégrale entre 2 et 3 (par exemple) vont se répercuter tout au long du calcul.
  • Oui, mais cela reste mieux que de faire l'intégrale entre $0$ et $x-1$ à chaque fois, car on va perdre en précision à mesure que $x$ augmente, à nombre de points fixés. Donc c'est "moins pire" en quelque sorte
  • Je tabulerais et calculerais les intégrales avec Simpson plutôt, qui n'est pas (beaucoup) plus cher que les rectangles mais bien meilleur. J'essaierai d'essayer ce soir.
  • @nimajneb : on est d'accord. Et c'est comme ça que j'ai fait dans mon premier code en réalité.

    @MathCross : oui tu as bien sûr complètement raison (d'autant que la fonction est monotone et très régulière).

    Merci en tout cas de votre intérêt pour ce problème!

    Edit : Je joins une capture d'écran de $M$ entre $0$ et $10$.124412
  • Bon, voici sans garantie le résultat de la tentative du soir :
    • en pdf, le graphe sur $[0,200]$ ;
    • en faux tex, une liste de valeurs (x,M(x)) ;
    • ci-dessous : le graphe sur $[0,10]$ et les points $(x,M(x)/x)$ pour $x\in[0,200]$.
    Enfin, le code Sage.
    def simpson(T,a,b):
        # si on a une liste de couples (x,y), on ne garde que les y
        if type(T[0])==type((1,0)):
            T = [t[1] for t in T]
        n = (len(T)-1)/2
        h = (b-a)/n
        S = T[0] + T[-1]
        S+= 2*add(T[2*j] for j in range(1,n))
        S+= 4*add(T[2*j-1] for j in range(1,n+1))
        return S*h/6
    
    def M(b,p):
        h = (1/2/p).n()
        L = [(k*h,0) for k in range(2*p)]
        L+= [(1+k*h,1) for k in range(2*p)]
        for j in range(2,b):
            for k in range(2*p):
                i, x = j*2*p + k, j+k*h
                #print L[i-2*p]
                y = 1 + (x-2)/(x-1)*(L[i-2*p][1]-1) + 2/(x-1)*simpson(L[i-4*p+1:i-2*p+1],x-2,x-1)
                L.append((x,y))
        return L
    
    L = M(200,200)
    list_plot(L,plotjoined=True).save("Lucas.pdf")
    
    124420
  • Tant qu'on y est, le dessin des valeurs trouvées pour $M$ avec l'approximation affine $0.73398x-0.01327$.

    Edit. Cela dit, en calculant jusqu'à $1000$ par pas de $1/100$, on trouve un coefficient directeur de $0.709$. Le $\sqrt3$ qui m'a tenté un temps perd en plausibilité...

    Reedit. Superposition de la courbe de Lucas et de la mienne après changement d'échelle. Plausible que les calculs coïncident.124422
    124434
  • Bravo MathCross et merci ! Effectivement pour le même pas de discrétisation que moi tu obtiens une meilleure approximation (on peut vérifier parce que jusqu'à $x=4$ on a une formule exacte).

    > Le $\sqrt{3}$ qui m'a tenté un temps perd en plausibilité...

    $\sqrt{3}-1$ j'imagine ? J'aurais pu t'épargner ce faux espoir :-) car on sait que (voir le lien que j'ai donné dans le premier message)
    $$
    \frac{M(x)}x\ \longrightarrow\ \int_0^\infty \exp\left( -2 \int_0^z \frac{1-e^{-y}}{y} dy\right) dz,

    $$ qui vaut à peu près $0.747598\ldots$.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!