Factorisation d'expression trigonimétrique

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

Factorisation d'expression trigonimétrique

par Indio » 26 Nov 2014, 18:49

Bonjour à tous,

Voilà j'ai un problème de trigonométrie et je ne suis pas certains qu il existe une solution...
Je ne suis pas mathématicien mais je dois modéliser un phénomène projectif pour mes études.
Je cherche depuis quelques temps mais je n'obtient pas de solution satisfaisante...

Mon but est de factoriser l'expression A.cos(x) + B.sin(x) + C afin de simplifier l'expression suivante:
f(x) = (A.cos(x) + B.sin(x) + C) / (D.cos(x) + E.sin(x) + F)
Sachant que A, B, C, D, E et F sont des constantes.
Je n'arrive pas à éliminer la fraction...

J'espère trouver quelqu'un qui pourra m'indique comment faire!

Merci beaucoup (en avance) =)
Cordialement



mrif
Membre Rationnel
Messages: 527
Enregistré le: 18 Mar 2013, 21:26

par mrif » 26 Nov 2014, 19:05

On peut factoriser Acos(x) + Bsin(x), mais pas Acos(x) + Bsin(x) + C.
Quel est ton objectif? Si ça trouve, la factorisation n'est pas nécessaire.

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 27 Nov 2014, 10:21

mrif a écrit:On peut factoriser Acos(x) + Bsin(x), mais pas Acos(x) + Bsin(x) + C.
Quel est ton objectif? Si ça trouve, la factorisation n'est pas nécessaire.


Bonjour et merci pour cette réponse rapide!

En fait j ai un ensemble de mesures (points sur un graphique) et cette équation les modélise.
Les coordonnées des points (x,y) vérifient donc l'équation y = (A.cos(x) + B.sin(x) + C) / (D.cos(x) + E.sin(x) + F)
Avec A... à F des constantes que je désire identifier.

Je pensais donc interpoler la fonction sur les points de mesures, mais pour cela j essaie de la simplifier pour rendre l'interpolation possible.

BiancoAngelo
Membre Rationnel
Messages: 585
Enregistré le: 12 Déc 2011, 23:06

par BiancoAngelo » 27 Nov 2014, 10:53

Indio a écrit:Bonjour et merci pour cette réponse rapide!

En fait j ai un ensemble de mesures (points sur un graphique) et cette équation les modélise.
Les coordonnées des points (x,y) vérifient donc l'équation y = (A.cos(x) + B.sin(x) + C) / (D.cos(x) + E.sin(x) + F)
Avec A... à F des constantes que je désire identifier.

Je pensais donc interpoler la fonction sur les points de mesures, mais pour cela j essaie de la simplifier pour rendre l'interpolation possible.


Bonjour Indio,

Tu dis que ça interpole puis que ça les vérifie, c'est étrange.
En général, une interpolation ne passe pas par tous les points...

Bref, admettons qu'on choisisse un point (x;y) de tes mesures et qu'il vérifie l'équation, on a donc :
y = (A.cos(x) + B.sin(x) + C) / (D.cos(x) + E.sin(x) + F)

Qui donne donc (D.cos(x) + E.sin(x) + F) y - (A.cos(x) + B.sin(x) + C) = 0
Si on fait ça pour 6 points, on tombe sur un système linéaire à 6 équations et 6 inconnus.
Sauf que, vu qu'il y a 6 coefficients, ils sont donc tous définis à un facteur près.
Il n'y a donc que 5 inconnus véritablement, on peut par exemple fixer un d'eux à 1.

On peut par exemple écrire donc avec C = 1,
(D.cos(x) + E.sin(x) + F) y - (A.cos(x) + B.sin(x)) = 1.

Ensuite tu peux utiliser la technique des déterminants avec un logiciel de calcul, ou une calculatrice.
Tu écris ta matrice 5x5 remplie des coefficients de chaque inconnu et son déterminant D.
Pareil mais en remplaçant la colonne des coefficients de A par la colonne avec que des 1 ( toutes les équations se terminent par "= 1") et le déterminant D1 associé.

Au final, tu auras A = D1/D, B = D2/D, D = D3/D, E = D4/D, F=D5/D et C=1.

Tout ça devrait bien se passer si le déterminant D de départ est non nul évidemment, ce qui a de fortes chances d'être le cas si tes mesures sont des mesures physiques, donc trop peu "nettes" pour rendre le système lié.

Finalement, pour avoir une belle modélisation, il te restera donc à choisir 5 points qui permettront une belle approche de l'ensemble des points.

Cordialement.

PS : souvent, quand on annonce qu'on modélise, il y a des outils associés (technique pour trouver les coefficients, convergence du modèle par rapport aux mesures données). Tu peux prendre en référence les séries de Fourier par exemple.

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 27 Nov 2014, 11:40

BiancoAngelo a écrit:Tu dis que ça interpole puis que ça les vérifie, c'est étrange.
En général, une interpolation ne passe pas par tous les points...


Pardon je me suis mal exprimé, je n ai pas vraiment le vocabulaire adéquat
La méthode des déterminants est en effet une solution possible à mon problème, mais c est une solution exacte qui fonctionne avec des points de départ exacte n'est-ce pas?
Mes points de mesures sont bruités, donc la méthode des déterminants ne devrait rien donne de bon? Corrigez moi si je me trompe!

En fait je sais que je peux utiliser directement une régression en moindres carrés avec l'emploie de Levemberg-Marquardt, mais j'ai peur que mon système soit trop compliqué et qu'il ne converge pas, c'est pour ça que j'essaie de simplifier mon expression de départ.

Cela est il possible au moins?
Et est-ce que mon expression de départ sera instable si je la garde telle qu'elle? Vu qu'elle n'est pas linéaire?

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

par Ben314 » 27 Nov 2014, 12:19

Salut,
Je ne pense pas qu'on puisse bien simplifier grand chose dans ton expression.

Par contre, un truc simple (peut-être trop...), c'est de remplacer ta régression sur les
par une régression linéaire sur les
en rajoutant évidement une contrainte lié à l'homogénéité de ta formule, par exemple .
Au niveau des calculs, ça devient extrêmement simple.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

BiancoAngelo
Membre Rationnel
Messages: 585
Enregistré le: 12 Déc 2011, 23:06

par BiancoAngelo » 27 Nov 2014, 12:36

Indio a écrit:Pardon je me suis mal exprimé, je n ai pas vraiment le vocabulaire adéquat
La méthode des déterminants est en effet une solution possible à mon problème, mais c est une solution exacte qui fonctionne avec des points de départ exacte n'est-ce pas?
Mes points de mesures sont bruités, donc la méthode des déterminants ne devrait rien donne de bon? Corrigez moi si je me trompe!

En fait je sais que je peux utiliser directement une régression en moindres carrés avec l'emploie de Levemberg-Marquardt, mais j'ai peur que mon système soit trop compliqué et qu'il ne converge pas, c'est pour ça que j'essaie de simplifier mon expression de départ.

Cela est il possible au moins?
Et est-ce que mon expression de départ sera instable si je la garde telle qu'elle? Vu qu'elle n'est pas linéaire?


Il est assez difficile de prévoir, tant l'espace des fonctions non linéaires est (super) infini. Surtout que je ne le connais pas, je viens de jeter un oeil sur la technique.

Rien de tel que de programmer cet algorithme et de voir ce qu'il donne.

Cet algorithme qui ressemble fort à un algorithme de Newton (on se déplace vers les minima grâce aux différentielles) va converger si on n'est pas trop loin des solutions.
Globalement, je pense qu'il est important de vérifier si en partant d'un vecteur paramètre de base simple (par exemple, dont tous les paramètres valent 1) permet la convergence.

Dans l'ordre, je ferais :

1) Etude de mes mesures : en utilisant la technique du déterminant, je cherche une fonction approximant "à peu près bien". Je fais plusieurs essais pour en trouver une bonne (car 5 mesures, c'est faible devant un échantillon). Si jamais j'ai du mal à en trouver une bonne, j'en prends quelques unes en essayant de faire une moyenne (sans m'occuper de savoir si vraiment ça converge comme ça...).

Tout ça avec plusieurs expériences (plusieurs séries de mesures).

Ainsi, je saurais dans quelle fourchette je peux m'attendre à chercher mes paramètres.

2) Il y a peut-être différents cas, selon la force du bruit, le type de signal de départ,...
On détermine un algorithme qui rassemble toutes ces recherches et nous permet d'avoir un vecteur paramètre de départ suffisant proche de la solution.

3) Je programme l'algorithme Levenberg-Marquardt, qui devrait converger assez bien puisqu'il y a déjà eu un pré-travail.

4) J'observe la "stabilité", tu parles sans doute de sa capacité à bien converger, et si besoin, j'adapte le nombre d'itérations selon les cas.

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 28 Nov 2014, 10:07

Ok merci à tous pour ces conseils.

En fait mon problème peut s'exprimer de façon linéaire, donc cela simplifie tout, il n'y a pas besoin en réalité de transformer les cosinus et sinus!
Je vais procéder comme BiancoAngelo l'a conseillé ce weekend avec Matlab
Un levemberg Marquardt sur un système linéaire ça converge vers la bonne solution forcément en fait??
Y a t il des etrémums locaus dans ce genre de systèmes linéaires?
Et je n'ai pas compris le commentaire sur l'homogénéisation du système!
Ben314 parle d'une contrainte à mettre sur l'homogénéité mais je ne vois pas comment cela est possible, puisque les constantes ne vont pas forcément vérifier l'équation A^2+B^2+C^2+D^2+E^2+F^2=1 alors comment faire?

BiancoAngelo
Membre Rationnel
Messages: 585
Enregistré le: 12 Déc 2011, 23:06

par BiancoAngelo » 28 Nov 2014, 10:29

Indio a écrit:Ok merci à tous pour ces conseils.

En fait mon problème peut s'exprimer de façon linéaire, donc cela simplifie tout, il n'y a pas besoin en réalité de transformer les cosinus et sinus!
Je vais procéder comme BiancoAngelo l'a conseillé ce weekend avec Matlab
Un levemberg Marquardt sur un système linéaire ça converge vers la bonne solution forcément en fait??
Y a t il des etrémums locaus dans ce genre de systèmes linéaires?
Et je n'ai pas compris le commentaire sur l'homogénéisation du système!
Ben314 parle d'une contrainte à mettre sur l'homogénéité mais je ne vois pas comment cela est possible, puisque les constantes ne vont pas forcément vérifier l'équation A^2+B^2+C^2+D^2+E^2+F^2=1 alors comment faire?


Bonjour,

Pour l'homogénéisation, c'est parce que, comme je te l'ai expliqué, vu ton système et qu'il y a 6 inconnus , l'équation reste vérifiée pour avec k non nul.

Donc pour apporter une contrainte intéressante comme te l'a dit Ben, tu peux prendre la somme des carrés = 1.

Car sinon le problème, c'est que tu auras des convergences vers des vecteurs solutions apparemment différents mais qui sont liés (facteur k près) et qui représentent donc la même.
Donc je pense que globalement, si tu effectues ton algorithme, à la fin tu calcules N = somme des carrés (qui sera strictement positif à moins que tes coefficients soient tous nuls, ce qui n'est pas possible), et donc, en divisant chaque coefficient par la racine de N, tu obtiendras tes nouveaux coefficients qui donnent toujours une solution au problème posé mais qui en plus vérifient la somme des carrés qui vaut 1.

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 28 Nov 2014, 12:02

BiancoAngelo a écrit:Bonjour,

Pour l'homogénéisation, c'est parce que, comme je te l'ai expliqué, vu ton système et qu'il y a 6 inconnus , l'équation reste vérifiée pour avec k non nul.

Donc pour apporter une contrainte intéressante comme te l'a dit Ben, tu peux prendre la somme des carrés = 1.

Car sinon le problème, c'est que tu auras des convergences vers des vecteurs solutions apparemment différents mais qui sont liés (facteur k près) et qui représentent donc la même.
Donc je pense que globalement, si tu effectues ton algorithme, à la fin tu calcules N = somme des carrés (qui sera strictement positif à moins que tes coefficients soient tous nuls, ce qui n'est pas possible), et donc, en divisant chaque coefficient par la racine de N, tu obtiendras tes nouveaux coefficients qui donnent toujours une solution au problème posé mais qui en plus vérifient la somme des carrés qui vaut 1.


Très bien merci beaucoup =)
J'imagine qu'on peut aussi utiliser l'une des inconnue à la place de N? ou est il mieux de procéder avec la somme des carrés?
Sinon un levemberg Marquardt sur un système linéaire ça converge forcément vers la bonne solution (contrairement aux systèmes non linéaires)??
Y a t il des etrémums locaus dans ce genre de systèmes linéaires?

BiancoAngelo
Membre Rationnel
Messages: 585
Enregistré le: 12 Déc 2011, 23:06

par BiancoAngelo » 28 Nov 2014, 12:18

Indio a écrit:Très bien merci beaucoup =)
J'imagine qu'on peut aussi utiliser l'une des inconnue à la place de N? ou est il mieux de procéder avec la somme des carrés?
Sinon un levemberg Marquardt sur un système linéaire ça converge forcément vers la bonne solution (contrairement aux systèmes non linéaires)??
Y a t il des etrémums locaus dans ce genre de systèmes linéaires?


Il vaut mieux procéder avec la somme des carrés oui, c'est l'avantage d'avoir un coefficient positif non nul et de rendre l'ensemble homogène.

Pour cette algorithme, je ne sais pas trop, pour ça il faut lire la théorie à son sujet.
Sans quoi, tu n'es pas obligé de choisir celui-là, tu peux en prendre un fabriqué pour les linéaires.
Mais ce n'est pas forcément plus simple à programmer (tout dépend toujours des algorithmes).
De toute façon, quand c'est linéaire, tout se passe en général dans le meilleur des mondes... comparé aux non-linéaires.

Qu'est-ce que tu entends par extrema locaux ? Extrema de la fonction solution ?

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 28 Nov 2014, 12:38

BiancoAngelo a écrit:Il vaut mieux procéder avec la somme des carrés oui, c'est l'avantage d'avoir un coefficient positif non nul et de rendre l'ensemble homogène.

Pour cette algorithme, je ne sais pas trop, pour ça il faut lire la théorie à son sujet.
Sans quoi, tu n'es pas obligé de choisir celui-là, tu peux en prendre un fabriqué pour les linéaires.
Mais ce n'est pas forcément plus simple à programmer (tout dépend toujours des algorithmes).
De toute façon, quand c'est linéaire, tout se passe en général dans le meilleur des mondes... comparé aux non-linéaires.

Qu'est-ce que tu entends par extrema locaux ? Extrema de la fonction solution ?


En réalité je n'ai d'expérience qu'avec les systèmes non linéaires.
Ou on minimise souvent une somme de moindres carrés.
On recherche donc le minimu qui correspond à la solution.
Cependant de temps en temps on peut tomber sur un minimum "local" qui n'est pas la solution optimale du système.
Je demandais donc si ce phénomène est inhérent aux systèmes non-linéaires seuleemnt, ou que les systèmes linéaires ont aussi ce problème.

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

par Ben314 » 28 Nov 2014, 19:01

Indio a écrit:En linéarisant je perds le y du coup...
ben... non... (heureusement)
Indio a écrit:
ben... non... (heureusement)

Tu voudrait avoir ça : pour tout les indices i.
Là dedans, les et les sont parfaitement connus : ce sont tes différentes valeurs observées.
Les inconnues ce sont A,B,...,F (ce sont bien ces coeff. là que tu cherche non ?)

Après, le problème est (plus ou moins) équivalent à

(le "plus ou moins" venant du fait que l'erreur comise dans (1) n'est pas la même que dans (2))
Et ça, c'est un truc linéaire en A,B,...,F qui sont les inconnues de ton problème.
Le fait que ça ne soit absolument pas linéaire en et , tu t'en fout totalement : ce sont des valeurs connues.
Tu dit alors que le truc à minimiser, c'est le de mon post précédent qui ne dépend que de A,B,C,...,F (le reste est connu)
Après, le truc à observer (c.f. post. çi dessus), c'est que dans ton problème de départ, si on multiplie A,B,...F par une constante, ça ne change rien à la fonction que tu cherche, donc forcément il n'y aura pas unicité de la solution si on ne "contraint" pas quelque chose (et en plus, vu sous la forme (2) du problème, il y a une solution triviale consistant à prendre A=B=...=F=0 qui ne nous intéresse absolument pas).
Après, si les min. sous contrainte ne sont pas ton domaine de prédilection, prend comme "contrainte" F=1 : vu le contexte (où ça serait étonnant que ta fonction cherchée ait un F=0) c'est tout aussi valable que de prendre A²+B²+...+F²=1 (au niveau "math pures, c'est moins joli, mais tu t'en fout).

Résumé : tu cherche le min de
avec n'importe quelle méthode (y compris archi. basique avec un tableur) et ça te donne une solution de ton truc (attention, ce n'est pas exactement celle qui minimise les erreurs dans (1), mais celle qui minimise les erreurs dans (2) ce qui n'est pas exactement la même chose)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Indio
Messages: 7
Enregistré le: 26 Nov 2014, 18:40

par Indio » 01 Déc 2014, 13:56

Je vous demande d'excuser mon ignorance mais j'ai beaucoup de mal à comprendre cette histoire d'homogénéisation et de contrainte...
J'ai mangé un tas de pages web et d'articles wikipédia ce weekend, mais je ne sais pas pourquoi je ne comprends pas...

Voici ce que j'obtiens: Mon système de départ est le suivant:



Il peut donc etre écris sous la forme:



Ce qui est équivqlent à avoir un système comme cela:


En linéarisant je perds le y du coup...
Si je fais la technique avec les carrés, je ne retrouverai jamais les véritables valeurs des paramètres... Je vais trouver une solution parmi une infinité de solution?

Si quelqu un connait un bon tutorial (ecris pour des idiots comme moi) je suis preneur car la sur le net j'ai beaucoup de mal à comprendre comment on fait pour trouver la bonne solution...

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

par Ben314 » 01 Déc 2014, 17:12

Indio a écrit:En linéarisant je perds le y du coup...
ben... non... (heureusement)

Tu voudrait avoir ça : pour tout les indices i.
Là dedans, les et les sont parfaitement connus : ce sont tes différentes valeurs observées.
Les inconnues ce sont A,B,...,F (ce sont bien ces coeff. là que tu cherche non ?)

Après, le problème est (plus ou moins) équivalent à

(le "plus ou moins" venant du fait que l'erreur comise dans (1) n'est pas la même que dans (2))
Et ça, c'est un truc linéaire en A,B,...,F qui sont les inconnues de ton problème.
Le fait que ça ne soit absolument pas linéaire en et , tu t'en fout totalement : ce sont des valeurs connues.
Tu dit alors que le truc à minimiser, c'est le de mon post précédent qui ne dépend que de A,B,C,...,F (le reste est connu)
Après, le truc à observer, c'est que dans ton problème de départ, si on multiplie A,B,...F par une constante, ça ne change rien à la fonction que tu cherche, donc forcément il n'y aura pas unicité de la solution si on ne "contraint" pas quelque chose (et en plus, vu sous la forme (2) du problème, il y a une solution triviale consistant à prendre A=B=...=F=0 qui ne nous intéresse absolument pas).
Après, si les min. sous contrainte ne sont pas ton domaine de prédilection, prend comme "contrainte" F=1 : vu le contexte (où ça serait étonnant que ta fonction cherchée ait un F=0) c'est tout aussi valable que de prendre A²+B²+...+F²=1 (au niveau "math pures", c'est moins joli, mais tu t'en fout).

Résumé : tu cherche le min de
avec n'importe quelle méthode (y compris archi. basique avec un tableur) et ça te donne une solution de ton truc (attention, ce n'est pas exactement celle qui minimise les erreurs dans (1), mais celle qui minimise les erreurs dans (2) ce qui n'est pas exactement la même chose)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

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

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