Trouver l'équation d'une fonction

Forum d'archive d'entraide mathématique
Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 16:17

Bonjour,

Je cherche à trouver l'équation d'une fonction. Je connais une dizaine d'images et d'antécédents et je cherche à trouver l'équation de ladite fonction.

J'ai déjà réussi pour une autre fonction, mais en "bricolant". Je suis arrivé à une équation assez barbare en plusieurs jours, alors je cherche une méthode plus rapide. Merci d'avance.

Détails:




Une représentation graphique de ma fonction:
Image



Dzp

Re: Trouver l'équation d'une fonction

par Dzp » 09 Mar 2016, 16:33

Bonjour,
Si c'est un exercice, alors vous devriez le faire vous même.
En tout cas la solution numérique est celle là
Ajustement puissance Y=A * X puiss(B) nbpts=11 A = 1.04 B = 0.991 R2 = 0.998 (emq=7.698)
Comme cela, vous pourrez vérifier si vos calculs sont justes.

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 12:44

Re: Trouver l'équation d'une fonction

par Pseuda » 09 Mar 2016, 16:41

Bonjour,

Il y a toujours au moins cette solution :

https://fr.wikipedia.org/wiki/Interpola ... grangienne

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 16:50

Ce n'est pas un exercice.

Je ne vois pas comment faire une interpolation Lagrangienne. Je n'ai pas le niveau de mathématiques suffisant.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 16:54

Salut,
Dans ce type de problématique, il faut bien préciser le contexte dans lequel on se place :

1) Soit on cherche réellement une fonction qui passe exactement par les points demandés parce que... on a envie d'en trouver une... et il y a des tonnes et des tonnes de solutions :

a) On peut évidement en prendre une affine par morceau qui sera donc continue, mais à priori pas dérivable.
- On peut faire un peu mieux en prenant des morceaux de paraboles : en s'y prenant bien, elle sera dérivable, de dérivée continue, mais pas deux fois dérivable.
- Etc sur le même principe d'approximer sur chaque intervalle par un polynôme

b) On voudrait une approximation "globale" avec une seule formule et pas différentes formules pour chaque intervalle.
Dans ce cas, il faut clairement se donner un "modèle" de formule.
- On peut par exemple chercher en prenant comme "modèle" les polynômes et là, on a un joli théorème qui dit que, par n points d'abscisse différents, il passe un unique polynôme de degrés inférieur ou égal à n-1.
Par contre, il y a une infinité de polynômes de degrés inférieur ou égal à n passant par les susdit points et une "encore plus grosse" infinité de polynôme de degré quelconque passant par les points en question.
- On peut évidement chercher en prenant un autre "modèle" de fonction : des trucs classiques, c'est par exemple des fractions rationelles (quotient de deux polynômes) ou des fonctions périodique de période donnée, ou bien encore des fonctions exponentielle ou bien... n'importe quoi d'autre...

Bilan : Il y a de toute façon une très très très grosse infinité de solutions et ceci à peu prés quelque soit la façon dont on aborde le problème.

2) Soit c'est plutôt un problème concret et, dans ce cas, vu les incertitudes (en particulier de mesure) sur les différents points, on ne cherche jamais une fonction passant exactement par les points donnés, mais uniquement une fonction passant "pas trop loin" des points.
Dans se cas de figure, ce qu'on fait quasi systématiquement, c'est de se donner au départ une classe de fonction "pas trop grosse" et qui correspond au modèle physique du problème posé (par exemple les fonctions affines, ou bien de degrè <=2 ou bien des fonction exponentielle, etc... : tout dépend du phénomène étudié) puis, dans cette "petite" classe de fonction, on cherche celle qui "approxime le mieux" (souvent au sens des moindres carrés) les points de départ.

Bref, ton problème, il est plutôt dans quelle catégorie ?
Modifié en dernier par Ben314 le 09 Mar 2016, 17:27, modifié 1 fois.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 17:00

Le mieux pour moi serait d'avoir une fonction qui passe par tous les points mais après si c'est trop complexe une fonction qui passe pas "trop loin" sera suffisante.

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 12:44

Re: Trouver l'équation d'une fonction

par Pseuda » 09 Mar 2016, 17:18

Dans ce cas, avec Excel, vous avez la fonction : =DROITEREG()

"La fonction DROITEREG calcule les statistiques d’une droite par la méthode des moindres carrés afin de calculer une droite s’ajustant au plus près de vos données, puis renvoie une matrice qui décrit cette droite."

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 17:36

Sinon, j'ai retrouvé une vielle feuille OpenOffice où j'avais cherché des approximations par des homographies :
Ici, approxime pas trop mal.

Et si vraiment tu veut que ça passe par tout les points, on peut facilement te calculer l'unique polynôme de degré <= 10 qui passe exactement par tout les points, voir même te donner une infinité de polynôme de degré <=11 passant exactement par tout les points, mais graphiquement parlant, il y a de très forte chances que ça soit assez bizarre comme courbe (i.e. que ça fasse de grosses oscillations entre les points)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 18:25

Merci !

Je sais que ma fonction utilise des logarithmes et j'en aurais besoin pour des nombres plus grands, alors ça risque d'être un peu plus loin.

Si tu pouvais me dire comment calculer le "polynôme de degré <= 10" ça m'arrangerais. Je n'ai pas compris grand chose sur ça.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 19:42

Le truc qui serait vraiment bien plutôt que ton "je sais que ma fonction utilise des logarithmes", c'est que tu précise exactement le contexte d'où sortent tes points :

Le long laïus ci dessus t'explique que, mathématiquement parlant, le problème tel quel est extrêmement peu précis et que des polynômes passant exactement par les n points, il y en a une énorme infinité.
Dans un cas "concret", se limiter au degré 10 (par exemple) uniquement sous prétexte que, dans ce cas, uniquement du fait que, pour ce degré là, on a un théorème mathématique qui garanti l'unicité de la solution est évidement totalement stupide vu qu'il n'y a aucune raison particulière que ce polynôme là soit "meilleur" que les autres comme approximation de la fonction.
Modifié en dernier par Ben314 le 11 Mar 2016, 11:13, modifié 2 fois.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 19:56

Donc il m'est impossible de trouver une fonction qui soit précise en dehors de ces points là ?

En fait dans un jeu, plus tu as de travailleurs plus tu produit de ressources. Si tu a X travailleurs, tu produit Y ressources, mais si tu a 2X travailleurs, ta production sera inférieure à 2Y ressources. J'ai fait des test à 10, 20, 30, ..., 90, 100 travailleurs pour avoir une base. Mon objectif est d'obtenir l'équation de la fonction pour savoir combien rapporterait 500/1000/10000 travailleurs afin de savoir si ça serait rentable (on paye des taxes sur le nombre de travailleurs). Je sais aussi que la formule utilise des logarithmes (je tiens cette info de quelques autres joueurs possédant la formule mais la gardant pour eux).

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 20:02

L'unique polynôme de degré <=10 qui passe exactement par tes n points c'est ça :
P(X) = -19/9072000000000000X^10+193/181440000000000X^9-559/2419200000000X^8+2119/75600000000X^7-22453/10800000000X^6+83833/864000000X^5-2049769/725760000X^4+4453657/90720000X^3-264067/560000X^2+81707/25200X
(Il vérifie par exemple pour te donner une idée de la tête qu'il a...)

Sinon, avec le contexte (i.e. de savoir que ça provient d'un jeu), on peut regarder s'il y a quelque chose qui colle à peu prés (il est fort possible que, dans le jeu, le calcul soit fait avec des nombres réels puis arrondi à l'entier le plus proche avant d'être affiché)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 20:19

Oui ça se voit que c'est arrondi (sur 80, 90, et 100).

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 21:00

j'ai une formule qui donne le bon résultat pour tout x non nul :
f(X) = arrondi( -10,2836967460171 + 0,574606772180871 X + 7,99373554647991 ln(X) )

Mais c'est un peu bizarre vu qu'elle donne des valeurs négatives ou nulles pour 1 , 2 ou 3 travailleurs.
Tu as des valeurs pour les petits nombres de travailleurs (1 à 10) ?
Et en connait tu, même approximativement, pour un grand nombre de travailleurs ?
avec cette formule f(1000)=620 et f(10000)=5809 : est-ce plausible ?
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 21:25

Cela me paraît plausible.

Pour les plus petits nombres je n'ai pas encore fait de tests.

Mais comment est-tu arrivé à une telle formule ?

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 12:44

Re: Trouver l'équation d'une fonction

par Pseuda » 09 Mar 2016, 21:33

Si on regarde les variations d'un point à l'autre (abscisses équidistantes), elles sont les suivantes : 14,9,9,8,8,7,7,7,6,7.

Cela ressemble en effet à une fonction logarithme jusqu'à 80 personnes (accroissement décroissant), puis il y a une inflexion en 90 personnes (point I), puis l'accroissement recroît.

Cela semble vouloir dire qu'il y a un effet de groupe à partir d'un certain seuil, le groupe produisant plus de ressources que la somme des personnes prises individuellement dans le groupe.

Donc la fonction aurait 2 composantes : une composante ln et une composante de dérivée croissante.

Tux
Messages: 8
Enregistré le: 09 Mar 2016, 15:57

Re: Trouver l'équation d'une fonction

par Tux » 09 Mar 2016, 21:45

Merci pour votre invertissement.

Je vais expérimenter sur cette fonction.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 09 Mar 2016, 22:30

@Tux : j'ai cherché la fonction du type f(X)=a+bX+c.ln(X) qui était "la plus proche" (au sens des moindres carrés) de ton nuage de points. Et les trucs qui m'ont aiguillés dans cette direction c'est le fait que ce soit un jeu sur ordi. -> sans doute arrondi(truc simple) et le fait que tu ait dit qu'il y avait du log.

@PSEUDA : vu que c'est un truc sur ordinateur et que le résultat doit être par définition entier, il y a une forte présomption que la fonction cherchée soit de la forme f(X)= arrondi( g(X) ) avec g sans doute pas trop compliqué.
Ce qui signifie qu'en fait, on a la valeur exacte de l'arrondi de g et il faut un peu se méfier du fait que cet arrondi risque de provoquer des comportement du style du 7,7,7,6,7 dont tu parle.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 12:44

Re: Trouver l'équation d'une fonction

par Pseuda » 11 Mar 2016, 09:42

A 18h42 :
Ben314 a écrit:Le truc qui serait vraiment bien plutôt que ton "je sais que ma fonction utilise des logarithmes", c'est que tu précise exactement le contexte d'où sortent tes points :

Le long laïus ci dessus t'explique que, mathématiquement parlant, le problème tel quel est extrêmement peu précis et que des polynômes passant exactement par les n points, il y en a une énorme infinité.
Dans un cas "concret", se limiter au degré 10 (par exemple) uniquement sous prétexte que, dans ce cas, uniquement du fait que, pour ce degré là, on a un théorème mathématique qui garanti l'unicité de la solution est évidement totalement stupide vu qu'il n'y a aucune raison particulière que ce polynôme là soit "meilleur" que les autres comme approximation de la fonction.

Sinon, ça :
P(X) = -19/9072000000000000X^10+193/181440000000000X^9-559/2419200000000X^8+2119/75600000000X^7-22453/10800000000X^6+83833/864000000X^5-2049769/725760000X^4+4453657/90720000X^3-264067/560000X^2+81707/25200X
C'est l'unique polynôme de degré <=10 qui passe exactement par tes n points.
(Il vérifie par exemple et pour te donner une idée de la tête qu'il a...)


A 19h02 :
Ben314 a écrit:L'unique polynôme de degré <=10 qui passe exactement par tes n points c'est ça :
P(X) = -19/9072000000000000X^10+193/181440000000000X^9-559/2419200000000X^8+2119/75600000000X^7-22453/10800000000X^6+83833/864000000X^5-2049769/725760000X^4+4453657/90720000X^3-264067/560000X^2+81707/25200X
(Il vérifie par exemple pour te donner une idée de la tête qu'il a...)

Sinon, avec le contexte (i.e. de savoir que ça provient d'un jeu), on peut regarder s'il y a quelque chose qui colle à peu prés (il est fort possible que, dans le jeu, le calcul soit fait avec des nombres réels puis arrondi à l'entier le plus proche avant d'être affiché)

L'intervenant Ben314 n'aurait pas besoin d'un peu de repos ?

Ben314 a écrit:j'ai une formule qui donne le bon résultat pour tout x non nul :
f(X) = arrondi( -10,2836967460171 + 0,574606772180871 X + 7,99373554647991 ln(X) )

Mais c'est un peu bizarre vu qu'elle donne des valeurs négatives ou nulles pour 1 , 2 ou 3 travailleurs.
Tu as des valeurs pour les petits nombres de travailleurs (1 à 10) ?
Et en connait tu, même approximativement, pour un grand nombre de travailleurs ?
avec cette formule f(1000)=620 et f(10000)=5809 : est-ce plausible ?


Cela m'étonnerait quand même que dans un programme de jeu sur ordinateur, ils aient inséré une formule avec des valeurs négatives de production pour un faible nombre de personnes. Et ils n'auraient pas été chercher des coefficients si compliqués, mais certainement des coefficients entiers.... Cela ne doit pas être exactement la bonne formule.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21681
Enregistré le: 11 Nov 2009, 21:53

Re: Trouver l'équation d'une fonction

par Ben314 » 11 Mar 2016, 11:27

PSEUDA a écrit:L'intervenant Ben314 n'aurait pas besoin d'un peu de repos ? <= Je radote un peu, mais c'est la vieillerie (et j'ai édité le premier message pour que ça se voit pas trop...)
Cela m'étonnerait quand même que dans un programme de jeu sur ordinateur, ils aient inséré une formule avec des valeurs négatives de production pour un faible nombre de personnes.Et ils n'auraient pas été chercher des coefficients si compliqués, mais certainement des coefficients entiers.... Cela ne doit pas être exactement la bonne formule.
Pour le truc bleu, c'est un peu discutable : le dernier coeff. est quasi égal à 8 et il faudrait évaluer les fraction continues des deux autres réels pour voir s'il ne sont pas proches de fractions simples : une formule du style (a+bX)/c+8ln(X) avec a,b,c des "petits" entiers serait "relativement plausible" (sans parler du fait que le logarithme pourrait éventuellement être un logarithme décimal, voire en base 2 et que ça modifierais la valeur du coeff. presque égal à 8)
Par contre le truc en rouge est clairement une objection majeure a la véracité de la formule.

De plus, le truc quand même bien chiant, c'est que, vu que c'est super facile à programmer, on ne peut pas totalement exclure une formule du style f(X)=... si X<... et f(X)=... si X>... qui est évidement bien plus difficile à repérer.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

 

Retourner vers ♲ Grenier mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite