Heeelp ! Au secours !
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Heeelp ! Au secours !



  1. #1
    invite4c7c5515

    Heeelp ! Au secours !


    ------

    Bonjour à tous,

    J'ai besoin d'un sérieux coup de main sur un problème qui me semble loin d'etre simple... En fait, je suis étudiant en informatique et j'ai un problème important à résoudre issu d'un algorithme que je développe...

    Peut etre que ça vous prendra 5 minutes à résoudre donc j'ai pensé vous mettre mon problème ici:
    Soit u(n) = k*(n*e-n*a*(a-1)+(n+1)*e-n*a)
    avec k = (1-e-a)²/(1+2*a*e-a-e-2*a)
    et a un constante donnée.
    Domaines de définitions:
    n >= 2 entier naturel, et a inclu dans ]0;1.695].
    Il semblerait que u(n) soit décroissante et tend vers 0 en +infini, je ne l'ai pas démontré, mais en toute logique, ça devrait l'etre. Si ce n'est pas le cas, il y a un probleme dans mon raisonnement...

    Problème: On veut trouver le premier n tel que u(n) soit inférieur à un seuil S fixé (ex: S = 0.001).
    Ce qui, je pense peut etre fait en calculant:
    u(n) < S

    Une valeur majorée de n serait acceptable (mais pas trop sinon ça ralenti l'algorithme) si cela rend les calculs plus simples.

    Le premier qui me résouds ça proprement, je lui envoie une photo de moi qui mange mes chaussures.


    Merci pour ceux qui se pencheront sur le problème.

    -----

  2. #2
    breukin

    Re : Heeelp ! Au secours !

    Pour plus de clarté en lecture, n'utilisez pas l'étoile, mais le point, pour la multiplication, voire rien du tout quand cela ne gêne pas.

    Donc k(a) = (1–e–a)2/(1+2a.e–a–e–2a).
    Une petite analyse avec tableur montre que ce facteur dépendant de a est positif, est une fonction décroissante de a, tend vers l'infini quand a tend vers 0, et tend vers 1 quand a tend vers l'infini.
    Je ne vois pas pour l'instant l'intérêt de limiter a à 1,695 (ou 1695).

    En dérivant k'(a), ce doit être accessible, quoique sans doute un peu fastidieux...

    Maintenant un = k(a)(a.n+1)e–n.a : j'ai supposé que le (a–1) n'était pas dans l'exposant ?

    Si on étudie la fonction (ax+1)e–ax, on voit qu'elle est décroissante en x (dérivée –a2x.e–ax).

    Donc pour tout a, un est bien décroissante.

    Mais je ne pense pas qu'il puisse y avoir une solution analytique du premier un tel que un < S, car cela reviendrait à savoir résoudre l'équation transcendante k(a)(ax+1)e–ax = S (trouver x(a,S)).

  3. #3
    invite4c7c5515

    Re : Heeelp ! Au secours !

    Effectivement (a–1) n'est pas dans l'exposant.
    J'ai approfondit mes recherches, mais hélas, c'est effectivement très difficile de trouver une solution exacte...

    On peut proposer de résoudre:
    u(n) < 1+x+x²/2 <= S

    En fait, le must serait de trouver une fonction de a qui donne pour un a donné une valeur de n telle que:
    u(a, f(a)) soit constante de valeur S.
    C'est compliqué et fastidieux... Je crois que je vais laisser tomber car il me semble que je ne peux pas faire autrement que d'interpoler ma fonction u(n) ce qui n'est pas rentable au niveau de la complexité (temps de calcul).

  4. #4
    breukin

    Re : Heeelp ! Au secours !

    En revanche, résoudre par Newton (ax+1)e–ax = S/k(a) devrait être assez efficace en convergence.

  5. A voir en vidéo sur Futura
  6. #5
    invite4c7c5515

    Re : Heeelp ! Au secours !

    Intéressant, je vais voir comment appliquer cela...
    Merci beaucoup
    Que j'aimerais être bon en mathématiques...

  7. #6
    inviteaf1870ed

    Re : Heeelp ! Au secours !

    On peut utiliser la fonction de Lambert, qui est la réciproque de xex, si elle est disponible dans ta bibliothèque de fonctions

    http://fr.wikipedia.org/wiki/Fonction_W_de_Lambert
    http://mathworld.wolfram.com/LambertW-Function.html

    Ici l'équation s'écrit W(-(ax+1))=-S/k e-a, si je ne me suis pas gourré

  8. #7
    invite4c7c5515

    Re : Heeelp ! Au secours !

    Je suis en train d'utiliser cette fonction W très intéressante, mais pouvez vous m'expliquer comment je traite ce sous problème avec W:
    n.en+en=S

    J'ai un peu du mal avec la méthodologie à appliquer pour résoudre une equation avec des réciproques...

  9. #8
    breukin

    Re : Heeelp ! Au secours !

    n.en+en=(n+1)en=(n+1)en+1/e
    Donc n+1=W(e.S)
    Vous avez la fâcheuse tendance à développer au lieu de factoriser.

  10. #9
    invite4c7c5515

    Re : Heeelp ! Au secours !

    Merci !

    Finalement, je suis arrivé à ce résultat:
    n <=

    qui donne les solutions de u(n) < S et qui fonctionne très très bien, c'est presque ce qu'il faut... Sauf que...
    Ca donne des entiers n négatifs !!! Rhaaaa on y était presque !
    Sacrebleu !

Discussions similaires

  1. bjrr! heeelp pliiizz
    Par invite869ed3dc dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 12
    Dernier message: 27/08/2018, 08h37
  2. heeelp !
    Par invite645da9a4 dans le forum Physique
    Réponses: 2
    Dernier message: 09/05/2009, 14h10
  3. heeelp 2!
    Par invite645da9a4 dans le forum Physique
    Réponses: 2
    Dernier message: 09/05/2009, 14h08
  4. equation differentielle heeelp !!!!!
    Par inviteb4fa5c74 dans le forum Mathématiques du supérieur
    Réponses: 34
    Dernier message: 18/11/2008, 20h11
  5. [Brun] Au Secours
    Par invitef3fda207 dans le forum Dépannage
    Réponses: 1
    Dernier message: 30/03/2008, 21h25