Inscription / Connexion Nouveau Sujet
Niveau IUT/DUT
Partager :

Résolution d'une équation complexe

Posté par
Djar
02-07-09 à 11:12

Bonjour à tous,

J'ai besoin d'un 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 tende vers 0 en +infini, je ne l'ai pas démontré, mais en toute logique, ça devrait etre le cas. 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.

Je remercie tout particulièrement celui qui se penchera sur le probleme...

J'ai essayé avec les dérivées, mais mes souvenirs en maths sont bien lointains...

Posté par
thiblepri
Re 02-07-09 à 11:34

Bonjour,
Plusieurs questions:
1) e, c'est le "vrai" e?
2) k est-il positif?
3) a a-t-il une valeur fixe? Laquelle?

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 11:41

Mille excuses, en recopiant l'énoncé, j'ai omis de traduire mes formules...
Je corrige ça.

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 11:47


Correction de l'énoncé (je n'arrive pas à éditer le texte original):
e = exponentielle, k devrait etre supérieur à 0, mais cela reste à prouver... Je ne sais pas trop comment faire... Peut etre en faisant la limite que a tends vers 0.

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 tende vers 0 en +infini, je ne l'ai pas démontré, mais en toute logique, ça devrait etre le cas. 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

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 11:50

Désolé, j'ai du mal avec les systèmes où on ne peut pas éditer son dernier post.
donc:
a est un réel compris entre ]0; 1.695].
Il est calculé à partir d'un entier naturel sigma tel que sigma soit en entier naturel non nul.
On a:
a = 1.695 / sigma.
D'où le fait que a soit un réel compris dans ]0; 1.695]

J'espère que ça pourra vous aider.

Posté par
thiblepri
Re 02-07-09 à 12:04

Il faut que:
ln(a*n+1)na+ln(\frac{S}{k})

Et n existe toujours! Mais on ne peut pas l'extraire de façon simple.

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 12:07

Merci beaucoup !
Lorsque vous dite qu'on ne peut pas l'extraire de façon simple, vous avez une idée de ce qu'il faut faire ? Je cherche une piste pour pouvoir approximer n...

Posté par
amauryxiv2
re : Résolution d'une équation complexe 02-07-09 à 12:38

Si je ne me trompe pas, Un x ne-n exp(ln(x/k)/ln(a))

Or pour x 2, la fonction f(x) = xe-x et n est justement supérieur à 2.
Je fais appel à vous, je pense qu'avec une fonction convexe sous l(axe y=x, il y a moyen de trouver un algo, nan ?

Posté par
amauryxiv2
re : Résolution d'une équation complexe 02-07-09 à 12:40

... genre vn+1= f(vn)

Posté par
amauryxiv2
re : Résolution d'une équation complexe 02-07-09 à 12:46

Flûte ... Je me suis planté dans mes calculs .... Désolé !!

Posté par
thiblepri
Re 02-07-09 à 13:21

Ben en fait il faut que :
ln(n*a+1)-naln(\frac{S}{k})

Or, si on étudie ln(x+1)-x, on se rend compte que cette fonction tend vers - quand x tend vers +. Donc à partir d'un certain moment, tu vas avoir ton n. (ça c'est pour l'existence)

Maintenant, j'ai eu une idée (après un bon repas) pour trouver le n:
On sait que (après quelques calculs de dérivée):
Si n\frac{1}{3a}, alors:
ln(na+1)\frac{3}{4}*na
Donc, à partir de ce rang:
ln(n*a+1)-na-\frac{1}{4}*na
Donc si on trouve n tel que:
-\frac{1}{4}*naln(\frac{S}{k})
C'est gagné!
Ben on veut donc:
n\frac{-4ln(\frac{S}{k})}{a}

Voilà donc tu prends la partie entière de
\frac{-4ln(\frac{S}{k})}{a}
à laquelle tu ajoutes 1. On va l'appeler n2

Le n final est donc le max entre 0,\frac{1}{3a} et n2


Voili, voilou

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 13:29

Wow ! Génial ! C'est excellent

Merci (vraiment) beaucoup !
Je vais vérifier en hate si ça fonctionne !

Posté par
thiblepri
Re 02-07-09 à 13:46

Petite précision,
Soit n1= (Partie entière de \frac{1}{3a}) +1

On prend le max de 0,n1,n2

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 13:48

J'ai quand meme deux questions sur des points un peu obscurs :
La première est: comment considéres-tu que n >= 1/3a ?
Quel est ton calcul de dérivée pour arriver à cela ?
Sinon, quand tu parles de prendre la partie entière et ajouter 1 à -4*ln(S/k)/a ?

Quoiqu'il en soit, merci.

Posté par
thiblepri
Re 02-07-09 à 14:08

Ben en fait, il faut que:
ln(a*n+1)-naln(S/k).
Autrement dit que:
na-ln(a*n+1)-ln(S/k).
Or, na-ln(a*n+1) est l'écart au point x=na entre les courbes représentant les fonctions x->x et x->ln(x+1).

Je me suis donc dit qu'il fallait une fonction inférieure à x et supérieure à ln(x+1) (au moins à partir d'un certain rang)...
Et la fonction x->(3/4)*x fonctionne. En effet:
Il est clair que : x>(3/4)*x pour tout x strictement positif.
Il faut donc chercher quand:
ln(x+1)<(3/4)*x
Ce qui revient à:
ln(x+1)-(3/4)*x<0
On va dériver la fonction:
f(x)=ln(x+1)-(3/4)*x
On trouve:
f'(x)=1/(1+x)-3/4=(1-3x)/(1+x)
Donc c'est fonction est décroissante pour x>1/3 (et là je m'aperçois que je me suis planté.... Désolé. Mais au final ça ne changera pas grand chose au résultat final (juste la valeur quoi pas le raisonnement)

Comme f(1/3)>0, il faut trouver une valeur pour laquelle cette fonction est strictement négative:
f(1/2)=0.03
f(4/5)=-0.01

Donc on va prendre 4/5 est pas 1/3.
Donc si:
x>4/5 alors:
ln(1+x)<(3/4)*x<x
Il faut donc que: na4/5 donc que n4/(5a)

Voilà.

Je ne comprends pas ta dernière question

Posté par
thiblepri
Re 02-07-09 à 14:18

"Donc on va prendre 4/5 est pas 1/3." ------> "Donc on va prendre 4/5 et pas 1/3."

Posté par
Djar
re : Résolution d'une équation complexe 02-07-09 à 14:26

Ok, parfait je suis ton raisonnement. Merci

Pour la dernière question, je me demandais pourquoi tu utilisais la partie entière +1 ?

Posté par
thiblepri
Re 02-07-09 à 14:36

Pour être sûr que n sera plus grand que la valeur dite.

Si tu cherches un entier plus grand que 3/4, tu prends la partie entière de 3/4, donc 0, à laquelle tu ajoutes 1.

Posté par
Djar
re : Résolution d'une équation complexe 03-07-09 à 16:46

On m'a suggeré d'utiliser la fonction reciproque de n.en qui est la fonction de lambert notée W.

Du coup, après une bonne heure de résolution, j'ai trouvé ce résultat très intéressant:

n <= -\frac{W(-\frac{S}{e^{1}.k})+1}{a}

Mais à mon grand regret, le n trouvé est négatif, mais correspond bien à une solution...

Quelqu'un aurait-il une idée ?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !