Forum Clubic

Quel logiciel de maths pour "generer" une formule a partir de nuage de poin

Bonjour,

J’ai un petit problème. J’ai un ensemble de point formant une courbe (vaguement logarithmique ou de type racine carre).

Comment est ce que je peux faire pour trouver cette formule ? existe-t-il des logiciels qui font ca ?

Excel le fait, mais la courbe est assez éloignée de ce que je veux. (gros coef d’erreur)

Ex de courbes:
X Y
0 0
0.1 8.55
0.2 14.78
0.4 22.92
0.7 32
1 35.33
1.3 37.24
1.6 38.2
2.15 40.83
2.7 42.5
3 43.22
3.5 43.25
4 43.3
4.5 43.33
5 43.35
5.5 43.38
6 43.4
6.5 43.43
7 43.45
7.5 43.48
8 43.5
8.5 43.53
9 43.55
9.5 43.58
10 43.6
10.5 43.63
11 43.655
11.5 43.681
12 43.707
12.5 43.733
13 43.759
13.5 43.785
14 43.811

Merci

C’est possible avec gnuplot.

J’ai l’impression que gnuplot ne fait que tracer une courbe.

Moi j ai la courbe je cherche la fonction.

C’est plus clair comme ca ?

on peut obtenir l’équation de la courbe.
Il faut juste connaitre plus ou moins le comportement de la courbe.

f1(x) = a1*tanh(x/b1) # define the function to be fit
a1 = 300; b1 = 0.005; # initial guess for a1 and b1
fit f1(x) ‘force.dat’ using 1:2 via a1, b1

(exemple de : www.duke.edu… )

D’après mes souvenirs, il n’est pas necessaire d’initialiser a1 et b1.
fit f1(x) ‘force.dat’ using 1:2 via a1, b1
–> force.dat : le fichier qui contient les données.
–> using 1:2 : la première colonne (dans ton fichier de données) correspondra à x, et la deuxième à y (Je suis plus tout a fait sur, mais ce qu’il faut retenir, c’est qu’on peut utiliser des fichiers de données avec plus de 2 colonnes …, il me semble d’ailleur que c’est un paramètre optionel).

Comme disait mon prof de maths au lycee, il a l’air " puissant" ce logiciel…

Mais pas tres friendly user :frowning:

Moi je sais pas programmer, et j’ai du mal dans tout ce qui est ligne de comande… Tu connaitrais pas par hazard un truc equivalent plus simple ? :smiley:

mh regressi sur windows je crois, mais je le trouve moins bien.

Mais le truc d’avant, y’a pas de programmation, et puis c’est pas super difficile (j’ai peut etre mal expliqué).
Tout d’abord tu tape gnuplot dans ton shell (pour lancer le logiciel).
Ensuite, tu entres le type de la fonction (t’as dis quelque chose en racine carré, donc square root en anglais) :

f(x) = a*sqrt(x) + b

a et b vont etre les constante que gnuplot va determiner.
Donc on demande à gnuplot “d’approximer” la courbe par rapport aux points que tu as (je sais pas trop comment traduire fit) :

fit f(x) 'data.dat' via a,b

data.dat est ton fichier qui contient les points, il y a donc 2 colones, une pour les x, et l’autre pour les y.
Lorsque tu tape cette commande, gnuplot va te dire a = …, b = … et il va ensuite te donner l’incertitude.
Si l’incertitude est trop grande, c’est que ton type de fonction n’est pas correct, il faut donc essayer par le logarithme par exemple.

Oue !!!

Cool ! merci :slight_smile:

En faite c etait tout simple oui :slight_smile:

(mais il fallait savoir comment lui demander ! :D)

Merci beaucoup, ca va me faire gagner un temps fou !

Possible que tu nous dise ce que tu as fait comme manip pour arrivé à ton résultat pour les inculte comme moi ?

heu, j ai fais exactement ce que dit manu2 :stuck_out_tongue: ni plus ni moins :wink:

Ah ok j’avais zappé son post !