salut à tous ! Pour le taf j'ai besoin d'approximer un sinus cardinal par une fonction plus simple, j'ai choisi une gaussienne plutôt qu'une parabole pour augmenter la précision de cette approximation. Donc la gaussienne s'écrit
f(x) = (1/(sigma x racine(2pi))) x exp ( - (x-muh)²/(2*sigma²))
avec sigma et muh les paramètres de la gaussienne.
En fait, je récupère une série de point (x,y), je garde que les 2 valeurs les plus élevés afin de coller au mieux avec le sinus cardinal. Enfin je souhaite trouver une solution à cette équation à deux inconnues du type :
f(x1) = y1
f(x2) = y2 afin de trouver sigma et muh
Les collègues au boulot sont pas très calé en math lol et faut dire que c'est pas évident :marteau: est ce que qq1 aurait une réponse à ce problème, c'est assez urgent.
Bonjour. On doit résoudre le système d'inconnues et suivant:
Comme n'apparaît qu'une fois dans chaque équation on peut essayer de l'isoler dans chacune d'entre elles. Il sera donc en fonction de et de dans la première, dans la seconde. Reste à déterminer . On traite l'équation où figurent de chaque côté les parties égales à et on essaie d'isoler . J'ai essayé le calcul mais je n'ai pas abouti, peut-être une erreur de ma part.
En fait je n'ai pas Maple, mais j'ai essayé avec Xcas et il refuse de résoudre le système.
Il me met Bad Argument Value. Ca fait trois fois que je relis l'instruction et je ne vois pas l'erreur.
Bonjour,
drôle d'idée de vouloir approximer un sinus cardinal par une gaussienne (à ce propos la gaussienne n'est pas un type de fonction particulier, il vaudrait mieux considérer les fonctions exponentielles avec 1 ou 2 paramètres pour avoir une forme plus simple que la gaussienne)
Pourquoi ne pas approximer le sinus cardinal par son dev limité autour de 0 et dès que tu es un peu loin de 0, tu prolonges l'approximation par 0 ?
Et le sinus cardinal c'est vraiment une fonction compliquée ?
et d'ailleurs pour répondre au problème lui même, si tes couples de points (x,y) sont issues du sinus cardinal, alors mu est forcément nul (c'est centré)
ce qui me surprends le plus dans la question posée c'est l'a-priori de choisir seulement deux points pour estimer les paramètres inconnus sigma et mu. Pourquoi ne pas considérer tous les points donnés et faire une régression par la méthode des moindres carrés ? Un article accessible sur la toile : http://www.scribd.com/people/documents/10794575-jjacquelin Dans la liste, sélectionner la ligne : "Régressions et équations intégrales". Le cas dont il est question içi est explicitement décrit (pages 6 et 7). Remarque : il est peut-être possible d'adapter la méthode de régression avec équation intégrale à l'estimation des paramètres d'une fonction du genre sinus cardinal (sans qu'il soit besoin de faire une approximation par une fonction du genre gaussienne). Toutefois, cela demanderait un peu plus d'étude préliminaire avant de décider de la faisabilité.
la fonction qui donne ces points est bien un sinus cardinal, pour ceux qui pense que celle ci est facile, je vous invite à retrouver l'equation a partir de 2 points, et éffectivement je n'ai que ces 2 points. Le sinc n'est pas centré en 0 au contraireet c'est d'ailleur ce "muh" donc j'ai besoin et que je cherche à calculé.
J'ai fini par approximé par une fonction encore plus simple, une parabole inversé avec toujours deux paramètre donc le muh, j'ai supposé qu'elle avait la forme :
-(x-muh)²/sigma + A , A étant le point le plus haut pour x = muh , soit dans mon cas une valeur connue ( 255 ) .
J'arrive à trouver ces coefficients avec deux point x,y = 96,197 et 95,195 sauf que c'est deux points devraient être de part et d'autre du x=muh, y= A et avec mes calculs , le muh = 36,... ce qui n'est pas correct. Quelqu'un aurait il une idée
Merci encore pour votre implication, ça fait plaisir
je pense qu'une parabole inversée ce n'est pas adaptée pour "fitter" correctement un sinus cardinal.
A titre personnel, je te conseille d'utiliser plutôt de rester dans les exponentielles et d'utiliser une fonction du type f(x)=Aexp(-|x-mu|).
En utilisant tes 2 couples de points, tu as donc 2 equations que tu peux diviser l'une par l'autre, et en prenant le log, et en utilisant le fait que x1 et x2 sont de part et d'autre de mu, tu trouves mu = 1/2*(ln(y1/y2)+x1+x2) et tu en déduis A.
la fonction f(x)=Aexp(-(x-mu)^2) doit être possible aussi mais tu devras résoudre une equation du second degré pour trouver mu.
y1 = Aexp(-|x1-mu|)
y2=Aexp(-|x2-mu|)
=> y1/y2 = exp(-|x1-mu|+|x2-mu|) (A est non nul autrement c'est la fonction et ce n'est pas la bonne bien sûr)
=> ln(y1/y2) = -|x1-mu|+|x2-mu| (y1 et y2 sont >0)
Maintenant, si j'ai bien compris, tu supposes que x1 et x2 sont de part et d'autre de mu, abscisse du sommet de ta cloche ?
et pen d'autres termes ça veut dire que x2 < mu < x1 (puisque x1 > x2)
donc tu as ln(y1/y2) = - x1 + mu + mu -x2
en effet, si tu ne connais que deux points, il est hors de question de regarder du coté des méthodes de régression, quel qu'elles soient.
Et même, seulement deux points c'est un peu léger pour fitter une fonction sinus cardinal dans sa forme générale:
y(x) = a*sinc(w*(x-m))
Si on suppose a-priori que w=1, cela impose une certaine largeur du pic de la fonction qui ne convient pas forcément pour que la forme de la courbe respecte bien celle que l'on cherche à fitter.
Mais n'en connaissant pas plus sur l'origine du problème, on peut dire n'importe quoi. Donc mieux vaut en rester là, du moins en ce qui me concerne.
En espérant que tu as obtenu les informations que tu souhaitais !
prenons deux autres points : x=102, y = 253 et x=103 y = 80 , je trouve que muh = 101.924... c'est pas logique ... on devrait trouver entre 102 et 103 ....