Quel logiciel ?

Tout ce qui concerne les différents logiciels mathématiques (Matlab, Maxima, Scilab, R, Maple, Mathematica, ...) et les calculatrices scientifiques.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.
> Préciser le nom du logiciel concerné dans le titre de votre message.

Quel logiciel ?

Messagepar Binabik » Mercredi 27 Août 2008, 18:51

Bonjour,

J'ai un petit problème. J'ai un ensemble de point formant une courbe (vaguement logarithmique ou de type racine carrée).
Je dois recommencer l'exercice 4 fois.

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:
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
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Publicité

Re: Quel logiciel ?

Messagepar MB » Mercredi 27 Août 2008, 20:14

Binabik a écrit:J'ai un petit problème. J'ai un ensemble de point formant une courbe (vaguement logarithmique ou de type racine carrée).
Je dois recommencer l'exercice 4 fois.


Pas tout compris.

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


Tu veux un logiciel à qui tu donnes un ensemble de points et qui te retrouvent la formule d'une fonction passant par ces points ?
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6773
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Quel logiciel ?

Messagepar OG » Mercredi 27 Août 2008, 20:22

Bonjour

Tout d'abord je ne comprends pas la phrase "Je dois recommencer l'exercice 4fois."

Pour ce type de pb il y a deux types d'approche et ce n'est pas une question de logiciel.

1) je sais que la loi qui lie $x$ et $y$ est du type linéaire, polynomiale de degré fixé à l'avance, exponentielle, logarithmique et on cherche la courbe dans la classe définie préalablement la plus proche. Les cas simples et usuelles sont "les pbs de moindres carrés". Quand en terminale en chimie sur le graphique des nuages de points on nous faisait tracer la droite qui est la plus proche au pif c'était du moindres carrés, les coefficients de la droite ont une interprétation... (ici il y avait une discussion d'exponential fitting !)

2) la loi qui lie $x$ et $y$ n'est pas connue et là on peut trouver des fonctions qui passent par le nuage de points, c'est l'interpolation. Il y a l'interpolation polynomiale mais vu le nbre de points je le déconseille ici car c'est instable. Il y a aussi les splines cubiques interpolant (une fonction polynomiale par morceaux).

Quel est le but ?

Cordialement
O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Quel logiciel ?

Messagepar Binabik » Mercredi 27 Août 2008, 20:34

2eme possibilite :)

Je cherche un formule passant pas l'ensemble de point (ou s en approche le plus possible). Peut m'importe que se soit un polynome, un log ou une formule de "amalgame" de type Ln(AX^d+...).


En faite le coup des 4 fois c est que j ai 4 graphique avec 4 nuage de points diferents, et je veux 4 formules.
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Re: Quel logiciel ?

Messagepar OG » Mercredi 27 Août 2008, 20:47

Binabik a écrit:2eme possibilite :)


J'ai oublié de dire : pour le polynôme d'interpolation le degré est égale au nombre de points $-1$ et pour les splines tu as autant de polynôme de degré 3 (pour les splines cubiques) que d'intervalles [0,0.1], [0.1,0.2]. En tant que formule ce sera compliqué et surtout inaffichable !

Pour préciser, le but c'est :

1) un graphique
2) donner une valeur (approchée) en un point où tu n'as pas d'information ?
3) autre chose

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Quel logiciel ?

Messagepar EricK » Mercredi 27 Août 2008, 21:41

Binabik a écrit:Je cherche un formule passant pas l'ensemble de point (ou s en approche le plus possible). Peut m'importe que se soit un polynome, un log ou une formule de "amalgame" de type Ln(AX^d+...).


Si tu prends un polynôme alors, ça s'appelle un polynôme d'interpolation de Lagrange ... formule très simple ... et résultat catastrophique ...

Donc, soit tu connais a priori la tête de ta fonction et dans ce cas, il n'y a pas de formule à chercher, soit tu ne la connais pas et alors deux possibilités :
- interpolation par des splines (et bonjour la tête les formules lorsque le nombre de points et les contraintes imposées augmentent)
- ne pas faire d'interpolation mais une approximation en moindres carrés ou une approximation uniforme (il y a l'algorithme de Remez pour ça).
EricK
Téra-utilisateur
 
Messages: 1481
Inscription: Jeudi 02 Novembre 2006, 22:38
Statut actuel: Actif et salarié | Enseignant

Re: Quel logiciel ?

Messagepar Framboise » Mercredi 27 Août 2008, 21:51

Bonjour,

La courbe obtenue, en ajustant les échelles, a des ressemblances avec une courbe de titration en chimie, la courbe I-U d'une diode ou d'un transistor, ou la fonction tanh . Il y a toutefois une petite irrégularité dans l'angle en haut à gauche.

-----

Le polynôme d'interpolation de Lagrange est très séduisant, mais le polynôme obtenu va faire des oscillations énormes entre les points et son écriture sera très lourde.
Fichiers joints
Courbe.jpg
Courbe
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1152
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Quel logiciel ?

Messagepar Binabik » Jeudi 28 Août 2008, 13:59

Rebonjuour :)

Merci a tous pour votre aide.

Framboise m'a devance pour ce qui est de tracer la courbe...
Donc maintenant tout le monde peut la voir :)


Ce n'est pas tres important si la fonction en quiestion passe absolument dans tout les points. Une erreur de quelque dixieme dans la fonction d'approximation ne me derange pas.

Ce qui est important c est que la fonction "fit" a mieux sur la courbe.

Je suis pas dutout un specialiste en maths (je suis geologue), du coup je suis un peu perdu dans vos aides...

On m'a parle de gnuplot pour essayer de trouver la fonction vous pensez que se serait une bonne idee ? (heu apres lecture du tutorial, j ai l'impression que se logiciel ne fait que tracer les fonction, il ne peut en "deviner une" a partir de point...)


Apres un peu plus de recherche, il semblerai qu un formule de type : 1-exp(-x) se rapprocherai de l'allure de mon nuage de points... Quelqu un a une idee comment parametrer une tel fonction ?


Merci encore.
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Re: Quel logiciel ?

Messagepar Framboise » Jeudi 28 Août 2008, 19:33

Peut-être pourrais-tu nous donner une idée de la nature de ces mesures pour en dériver une équation ?

Avec 1-exp(-x) on n'est pas très loin de mon idée de tanh.
Ce qui m'ennuie beaucoup, c'est l'espèce de décrochement-irrégularité dans le coin en haut à gauche de la courbe.
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1152
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Quel logiciel ?

Messagepar Binabik » Jeudi 28 Août 2008, 20:17

moi ce me derange pas ;)

Du moment que la courbes est "proche" ca va. Si la formule "fit" a +/- 95% c'est bon.

En faite ces points sont des données économique que je dois appliquer par la suite a des teneurs.
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Re: Quel logiciel ?

Messagepar Binabik » Vendredi 29 Août 2008, 14:18

C'est encore moi :D

Bon ben finalement gnuplot est genial :D il fait exactement ce dont j ai besoin :

http://www.clubic.com/forum/programmati ... 220015851#

Merci de votre aide en tout cas.
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Re: Quel logiciel ?

Messagepar Framboise » Vendredi 29 Août 2008, 16:14

C'est donc tanh qui convient pour ton problème ?
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1152
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Quel logiciel ?

Messagepar Binabik » Vendredi 29 Août 2008, 16:25

heu :o

J'utilise -a*exp(-x)+b

Ca fonctionne pas trop mal :)
Binabik
Utilisateur
 
Messages: 6
Inscription: Mercredi 27 Août 2008, 18:43
Statut actuel: Actif et salarié

Re: Quel logiciel ?

Messagepar OG » Vendredi 29 Août 2008, 19:50

bonsoir

merci pour l'info je ne savais pas que Gnuplot faisait du "curve-fitting".

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Quel logiciel ?

Messagepar Framboise » Samedi 30 Août 2008, 11:47

merci pour l'info je ne savais pas que Gnuplot faisait du "curve-fitting".


De même.

Cela me semble une bonne solution en choisissant une fonction de départ judicieusement.
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1152
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Quel logiciel ?

Messagepar raphkebab » Mardi 06 Juin 2017, 12:27

Je vient joué les rabat-joie.
Le modèle -a*exp(-x)+b ne me parait absolument pas adapté.
Pour faire ce genre de chose on adapte une loi de Weibull.

donc je propose cette formule :
beta-beta*exp(-(alpha*x)^p)

Petit code R :
Code: Tout sélectionner
x_data=read.csv("//s-usr/usr/busson-r/_supp/test.csv")
names(x_data)<-c("x","y")

my_red=function(x,alpha,p,beta) beta-beta*exp(-(alpha*x)^p)
res=nls(y~my_red(x,alpha,p,beta),start=list(alpha=1,p=1,beta=45),data=x_data)

my_green=function(x,alpha,beta) alpha-beta*exp(-(x))
res2=nls(y~my_green(x,alpha,beta),start=list(alpha=45,beta=45),data=x_data)

plot(x_data$x,x_data$y)
points(x_data$x,predict(res,list(x = x_data$x)),col="red")
points(x_data$x,predict(res2,list(x = x_data$x)),col="green")


On peut voir que t'on modèle est toujours décalé (points verts) par rapport aux observations (points noirs) :
Fichiers joints
test.png
test.png (4.26 Kio) Vu 503 fois
raphkebab
Kilo-utilisateur
 
Messages: 224
Inscription: Mardi 31 Décembre 2013, 12:37
Localisation: Caen
Statut actuel: Post-bac | Doctorat


Retourner vers Logiciels mathématiques

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités