déterminer l'équation d'une courbe

Le
programmation
Bonjour,

Supposons que on a pour chaque valeur de N on a un temps T alors
comment on détermine l'équation de la courbe ?

par exemple :
pour N = 4 on a T = 0.016
pour N = 6 on a T = 0.078
pour N = 8 on a T = 0.812
pour N = 10 on a T = 10.812
pour N = 12 on a T = 130.063
pour N = 14 on a T = 1267.672
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Peekay
Le #20455231
programmation a écrit :
Bonjour,

Supposons que on a pour chaque valeur de N on a un temps T alors
comment on détermine l'équation de la courbe ?

par exemple :
pour N = 4 on a T = 0.016
pour N = 6 on a T = 0.078
pour N = 8 on a T = 0.812
pour N = 10 on a T = 10.812
pour N = 12 on a T = 130.063
pour N = 14 on a T = 1267.672


Sous Excel, rien de mieux que y = 0.0001e1.1607x avec R2 = 0.9958
Le dernier segment est pourrit donc il vaut mieux faire par partie.
Une équation par partie qui "fit" bien.
Sinon, il faut des trucs balèzes à base de réseaux de neurones ou autres
trucs trop compliqués pour moi ...
Jean-Claude BELLAMY
Le #20457091
"programmation" discussion :

Bonjour,

Supposons que on a pour chaque valeur de N on a un temps T alors
comment on détermine l'équation de la courbe ?

par exemple :
pour N = 4 on a T = 0.016
pour N = 6 on a T = 0.078
pour N = 8 on a T = 0.812
pour N = 10 on a T = 10.812
pour N = 12 on a T = 130.063
pour N = 14 on a T = 1267.672



On ne détermine pas "l'équation de la courbe", MAIS UNE COURBE dont
l'équation est telle que les points donnés en sont des racines (ou s'en
approchent).

Cela s'appelle de l'interpolation.
Il y a un grand nombre de types d'interpolation.

La plus célèbre (mais pas forcément la meilleure) est l'interpolation
polynomiale, c'est à dire que l'on cherche un polynôme (de degré "n-1" si
"n" est le nombre de points) dont les n points sont solutions ("Polynôme de
Lagrange").
Son calcul consiste à résoudre un système linéaire de "n" équations à "n"
inconnues.
(C'est le B-A-BA en analyse numérique!)

On peut volontairement chercher des polynômes de degré inférieurs à (n-1),
mais dans ce cas les n points n'appartiendront pas tous forcément à la
courbe (le calcul va consister à minimiser les distances entre les points et
la courbe, ou à se limiter à un sous-ensemble des points).
P.ex. l'interpolation linéaire (on cherche une droite passant "au mieux" par
les points = droite des moindres carrés, appelée aussi droite de tendance)
Également l'interpolation cubique (comme son nom l'indique, on cherche un
polynôme de degré 3). Là on va un peu "bricoler", en prenant les points 4
par 4 et en calculant à chaque fois un polynôme de degré 3 tel que les
dérivées à chaque point extrême soient identiques entre 2 cubiques
consécutives. (afin qu'il n'y ait pas de "cassure" de la courbe entre 2
cubiques successives).


Il existe aussi des interpolations non polynomiales :
interpolation exponentielle
interpolation logarithmique
...


Si bien que par "n" points non alignés, on peut, en y mettant du sien, faire
passer la courbe de son choix ! ;-)



Pour en revenir à ton pb (il est à rendre pour quand ? ;-)) , reprends tes
cours d'analyse numérique, fais des recherches sur "polynôme de Lagrange",
et tu trouveras ...

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Serge Paccalin
Le #20459011
Le vendredi 30 octobre 2009 à 15:48:25, Peekay a écrit dans
fr.comp.os.ms-windows.programmation :

Supposons que on a pour chaque valeur de N on a un temps T alors
comment on détermine l'équation de la courbe ?

par exemple :
pour N = 4 on a T = 0.016
pour N = 6 on a T = 0.078
pour N = 8 on a T = 0.812
pour N = 10 on a T = 10.812
pour N = 12 on a T = 130.063
pour N = 14 on a T = 1267.672



Sous Excel, rien de mieux que y = 0.0001e1.1607x avec R2 = 0.9958
Le dernier segment est pourrit donc il vaut mieux faire par partie.
Une équation par partie qui "fit" bien.



Une exponentielle colle beaucoup mieux sur l'ensemble.

Sinon, il faut des trucs balèzes à base de réseaux de neurones ou autres
trucs trop compliqués pour moi ...



Astuce : remplacer par des logarithmes.

Si (N;T) est une droite, linéaire.
Si (log N;T) est une droite, log.
Si (N;log T) est une droite, exponentielle.
Si (log N;log T) est une droite, puissance. Et la pente donne le degré.

Avec ça, on couvre déjà pas mal de cas, je pense. Si ça ne suffit pas,
on peut continuer les changements de variables (trigo, par exemple).

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Publicité
Poster une réponse
Anonyme