Creation d'une courbe en fonction de.....
Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
-
jeromestas
- Messages: 2
- Enregistré le: 30 Déc 2005, 11:41
-
par jeromestas » 30 Déc 2005, 11:47
bonjour à tous...
Je suis automaticien et je travails dans le dommaine de l'induction.
Nous avons un petit problème sur le retour d'une mesure d'un appareil. cette mesure traverse une carte électronique non modifiable.
ma question est la suivante: je possède une allure de courbe 2d (x y) suivant un multitude de point que j'ai archivés . j'ai donc une courbe qui apparait. hors j'aimerais en ressortir une équation mathématique afin de l'intégrer dans mon automate et ainsi obtenir une lecture plus correcte à mon afficheur.car au préalable je linéarisais les poijnt obtenu et donc une erreur en faible tension apparaissait.
Existe t'il un logiciel me permettant d'extrapoler l'allure de ma courbe en une équation mathématique??
merci d'avance
-
Mikou
- Membre Rationnel
- Messages: 910
- Enregistré le: 06 Nov 2005, 13:17
-
par Mikou » 30 Déc 2005, 13:13
Excel le fait parfaitement il me semble.
-
André
- Membre Relatif
- Messages: 146
- Enregistré le: 20 Nov 2005, 18:45
-
par André » 30 Déc 2005, 14:03
Salut !
Une jolie question...
Avec n points, on peut calculer une courbe d'équation polynômiale de degré n-1.
Pour 2 points par ex, on a donc un droite (cas très facile) y = a(1)*x + a(0)
Pour 3 points, une parabole : y = a(2)*x^2 + a(1)*x + a(0)
Pour n points : y = a(n-1)*x^(n-1) + a(n-2)*x^(n-2) +...+ a(0)
Pour cela, il suffit de résoudre un système de n équations à n inconnues. Chaque équation est en faite :
a(n-1)*X(i)^(n-1) + a(n-2)*x^(n-2) +...+ a(0) = Y(i)
où (X(i) ; Y(i)) sont les coordonnées d'un de tes n points.
a(n-1) ... a(0) sont les n inconnues.
Bien sûr, s'il y a plus de 3 points, on ne le fait pas à la main. Un logiciel de calcul comme Matlab le résoud aisément.
Rem : la plupart des logiciels qui effectuent ce calcul de fonction le font de cette façon... d'ailleurs Matlab devrait avoir une telle fonction... ^^
Bonne chance !
par Dominique Lefebvre » 30 Déc 2005, 14:37
Bonjour,
Pour résumer, la solution de ton problème s'appelle une régression linéaire (si la fonction d'interpolation est polynomiale) ou non linéaire (dans les autres cas).
La méthode la plus classique est celle des "moindres carrés". Excel possède effectivement une fonction qui fait ça dans le cas linéaire. Matlab ou Scilab font également ce genre de calcul. Même une "simple" calculette type TI 89 ou 92 possède des programmes de régression linéaire par "moindres carrés".
Si tu as un PC à ta dispo avec un compilo de n'importe quel langage, tu peux t'amuser à programmer ça ou bien pomper le code sur n'importe quel site de programmation (je pense à Codes-Sources, par exemple).
-
Fract83
- Membre Relatif
- Messages: 110
- Enregistré le: 25 Nov 2005, 13:35
-
par Fract83 » 30 Déc 2005, 16:03
Hello,
Pour ma part, je serais tente de dire qu'une regression (Dominique Lefebvre), ou tu cherches une courbe qui passe _pres de_ tous tes points, est plus adaptee a ton probleme qu'une interpolation (Andre), ou tu cherches une courbe qui passe _par_ tous tes points.
Mais quoi qu'il en soit, tu ne pourra pas dire a Excel : voila mes points, trouve moi une equation de fonction ! Tu devras commencer par dire a Excel sous quelle forme generale tu cherches ta fonction (ex : un polynome d'un certain degre), et ensuite Excel te calculeras les parametres de cette fonction (dans le cas d'un polynome, ses coefficients).
Tout ca pour dire qu'il faut au prealable savoir quelle genre de courbe tu cherches (tu as parle d'une droite ?), avant d'utiliser Excel.
Bonne journee.
-
virtualmeet
- Membre Naturel
- Messages: 70
- Enregistré le: 12 Juil 2005, 14:06
-
par virtualmeet » 30 Déc 2005, 17:30
Bonjour,
Je crois que l'essentiel a été dit mais je vous signale que la position de vos points et leur nombre jouent enormément sur l'allure finale de la courbe qui essaye de passer par ces points (si vous utilisez une méthode d'interpolation):
plus le nombre de points augmente, plus le risque de variation rapide et imprévisible de la courbe entre deux points grandit.
Le choix de positions des points influe aussi sur la courbe.
Une solution serait donc :
Si vous avez un grand nombre de points, il faut utiliser une méthode d'approximation de la courbe d'origine.
Sinon, vous pourrez être tenté par une interpolation (courbe qui passe par les points), mais toujours faire attention avec cette dernière car imprévisible si on ne connait pas d'avance l'allure de la courbe recherchée (pour faire un choix de points judicieux) .
-
jeromestas
- Messages: 2
- Enregistré le: 30 Déc 2005, 11:41
-
par jeromestas » 18 Jan 2006, 15:26
j'ai longuement bossé sur le théorème du pivo de gauss et d'autre théorème et je suis parvenu avec l'aide d'autres personne à développer un petit programme en vba excel qui me permet en fonction d'un nombre de point Y sur une échelle de X à extrapoler au degré maximum de "15" une équation qui épouse mes différents points.
ci cela interesse quelqu'un... :++:
est-ce que quelqu'un pourrait me filler des conseils développer sur le pivot de Gauss. un système de n équation a n inconnu...
voici mon adresse email pour ceux que cela intéresse.
jeromestas@yahoo.frà celui qui veut la source...
bien à vous
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 10 invités