Reconstruire une fonction par série de Fourier
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Reconstruire une fonction par série de Fourier



  1. #1
    Bardouli

    Reconstruire une fonction par série de Fourier


    ------

    Bonjour à tous

    Il s'agit de mon premier message sur ce forum. Même si je suis à la base un grand lecteur du forum, mais plus dans la partie "maison" sur les isolants...
    J'ai donc parcouru un long chemin jusqu'ici pour un problème qui me dépasse, mais qui vous fera peut-être rire par sa simplicité!

    Je veux "ajouter" deux (voir plus) fonction sinus afin d'obtenir une fonction positive quand les deux fonctions le sont aussi.
    Dit de manière plus formelle :
    Si g(x) et h(x) sont les fonctions "parents" et f(x) la fonction résultante alors
    f(x)>0 si g(x)>0 et h(x)>0

    A noter que ne devant utiliser que des fonctions trigonomérique (voir même que des sinus), j'ai pensé aux séries de Fourier, mais ça devient compliqué.
    Pour la "fusion" de sin(x) et sin(2x), j'ai trouvé -1+sin(x)+cos(x)+sin(2x).



    Mais c'était par un pur processus de tâtonnement, et j'aurais voulu trouver une manière plus systématique, à priori je pourrai utiliser une transformée de fourier discrète en bricolant mais ça devient du grand n'importe quoi vu mon niveau de maths.
    Et c'est déjà du grand n'importe quoi.

    La fonction que je souhaite obtenir étant périodique et une "somme" de sinus, la série de Fourier est le candidat parfait, mais même en écumant Internet, je ne retrouve rien de simple à ce sujet car les sujets passent rapidement à la transformée de Fourier... qui me fait peur n'ayons pas peur des mots!

    J'ai envisagé d'autre pistes comme les dérivées, mais ça ne marche pas.

    Si vous avez ne serait-ce qu'une piste ou même un lien vers une ressource clair pour une personne ayant un niveau Terminale S en maths (c'était il y'a 15 ans). Le but finale de ce grand pataquesse étant d'implanter le tout en python, je pourrais passer par une API gérant les transformés de Fourier, mais disons que cette fois j'ai envie de me coltiner les fondamentaux...

    C'est à s'arracher les cheveux (et il commence à m'en manquer), mais c'est aussi fun qu'une chasse au trésor.

    Merci à tous de votre lecture.

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : Reconstruire une fonction par série de Fourier

    Bonjour.

    Pourquoi ne pas prendre f(x)=g(x)+h(x) ? f(x) est bien positif lorsque g(x) et h(x) sont positifs.

    A moins que tu veuilles que f(x) soit positif lorsque g(x) ou h(x) est positif ? Ou bien que ce soit f(x) est strictement positive si et seulement si g(x) et h(x) sont positifs ? Ou si et seulement si g(x) ou h(x) est positif ?

    Et il serait bon de savoir pourquoi tu veux faire ça et avec quels outils. Car il y a sans doute des moyens simples, mais trop souvent, la façon de présenter une idée qu'on a de traiter la question complique.

    A noter : (f(x)+|f(x)|)/2 vaut f(x) si f(x)>=0 et 0 si f(x)<= 0.

    Cordialement.

  3. #3
    Bardouli

    Re : Reconstruire une fonction par série de Fourier

    Merci pour la réponse.

    Je veux utiliser les sinus comme des indicateurs, et que je veut calculer le moment ou tous les indicateurs sont en accord (en fait c'est l'inverse qui m'intéresse mais je cherche déjà dans ce sens). Le vrai soucis c'est que ça doit rester rapide en terme d'execution puisque c'est pour du code, et qu'à la fin j'aurais beaucoup de sinusoïde (pas toutes ajoutées en même temps). L'idée c'était de construire une fonction globale qui pourrait me donner les intervalles correctes à posteriori par analyse.

    Si on reprend le formalisme, je cherche f(x)>0 quand g(x) > 0 ET h(x) > 0, dans le cadre de fonctions trigonométriques.
    Je n'y avais pas pensé mais ça peut aussi se formuler :
    f(x) < 0 quand g(x) < 0 OU h(x) < 0.


    J'ai commencé à travailler sur une autre solution, mais j'avais envie de trouver une solution élégante... et sans brute force ou détournement d'outils façon amateur.

    Le souci c'est que l'addition ne fonctionne pas, il suffit de voir l'exemple ci dessous. Si l'une des deux fonctions est à zéro la valeur de f(x) ne tombe pas à nécessairement zéro.
    Ici c'est ROUGE + BLEU = JAUNE



    Avec la multiplication c'est encore plus funky, même si ça marcherait presque...



    J'avais envisagé la fonction valeur absolue mais je me demande si :
    1) le cout en terme computationnel n'est pas trop grand (à priori non, mais cela double la quantité de mémoire)
    2) si l'analyse à posteriori ne sera pas trop complexe, ou impossible à automatiser. Le but était de ramener tout à une fonction trigonométrique et à chercher les racines de la forme f(x)>0. La nature périodique de ces fonctions permettant de s'en tirer pas trop mal... je pense.

    Après comme vous dites, peut-être que je peux envisager de travailler directement sur des intervalles de solutions puis de les croiser entre eux, mais j'avoue que là ce sont les outils mathématiques qui me manquent. L'idée étant de pouvoir le construire à postériori et pas de le stocker en mémoire.

    Si jamais vous avez une idée, mais pour l'instant les fonctions trigonométriques me semblaient la meilleure piste.
    Dernière modification par Bardouli ; 07/11/2015 à 21h57.

  4. #4
    gg0
    Animateur Mathématiques

    Re : Reconstruire une fonction par série de Fourier

    Je ne comprends pas pourquoi chercher des fonctions mathématiques compliquées, alors que les fonctions booléennes sont très rapides. Si c'est pour du code, pas la peine de compliquer.

    NB : Tu sembles avoir des problèmes avec la logique : tu parles de dire autrement une condition mais la deuxième condition n'est en rien équivalent à la première. Ou alors tu t'exprimes vraiment très mal, sans le souci de te faire comprendre :
    je cherche f(x)>0 quand g(x) > 0 ET h(x) > 0, dans le cadre de fonctions trigonométriques.
    Je n'y avais pas pensé mais ça peut aussi se formuler :
    f(x) < 0 quand g(x) < 0 OU h(x) < 0.
    Dernière modification par gg0 ; 07/11/2015 à 22h16.

  5. A voir en vidéo sur Futura
  6. #5
    Bardouli

    Re : Reconstruire une fonction par série de Fourier

    Ma formulation logique n'est pas clair. Désolé.
    Disons que si f(x) est vue comme une fonction ET, alors mon raisonnement me semble "logique" puisque f(x) >0 si g(x) ET h(x) sont supérieur à zéro, mais donc fausse dans le cas contraire. Un peu comme la table de vérité du ET qui est l'inverse du OU, si je ne dis pas de bétises.

    Il est sûre que cela semble du coup évident que je devrais juste utiliser une fonction booléenne mais j'ai deux problèmes avec ça, à priori mais ce sont aussi mes limites en maths.

    1) je voudrais travailler avec des intervalles de solutions continue, j'ai donc besoin de pouvoir générer ces intervalles, et je ne veut pas retomber dans le travers de balancer des séries de test dans mon code, voir même de tester toutes les solutions.
    2) je ne vois pas comment analyser une fonction booléenne ou la fonction valeur absolue sur un espace continue pour trouver un ou des intervalles de solution analytiquement. J'en suis à ce niveau, mais le seul moyen que je connaisse pour trouver passe par les dérivées.
    C'est aussi mon soucis, je bricole trop sur le plan mathématique.

    Je me doute bien que mon analyse est un peu naive, mais je voudrais essayer de générer mes solutions (surtout que pour une fois j'ai un problème périodique) plutôt que de me lancer dans du test en masse sur toutes les solutions possibles dans le meilleur des cas.

    Après vous avez raison c'est peut-être trop compliqué, je dois peut-être me focaliser sur les intervalles, et essayer de les générer autrement, peut-être avec une série... mais là ça redeviens encore plus flou.

    J'ai l'impression de vouloir couper un cheveu en 4, mais encore merci de me suivre un peu dans ce défi personnel.

  7. #6
    azizovsky

    Re : Reconstruire une fonction par série de Fourier

    Bonjour, il y'a , avec , ce qui donne :
    .

    PS: une sorte de représentation de Fresnel ou toutes les grandeurs sont en phase sauf les amplitudes qui varient.

  8. #7
    gg0
    Animateur Mathématiques

    Re : Reconstruire une fonction par série de Fourier

    Bardouli,

    tu confonds "si" et "si et seulement si", l'implication et l'équivalence. Ce qui rend tes explications floues.

    Autre chose : En termes de programmation, trouver les intervalles où une fonction, même assez simple, est positive peut être très coûteux : On ne sait pas résoudre la plupart des équations, ce qui amène à utiliser des méthodes d'approximation qui ont chacune leurs limites.

    Par contre, si ton phénomène est périodique, restreindre l'étude à une seule période est très efficace. De ce fait, as-tu vraiment besoin de sinus ? je me demande si tu n'es pas déjà parti sur une modélisation compliquée. mais comme tu n'as parlé que de ta modélisation, impossible de savoir.

    Cordialement.

  9. #8
    Bardouli

    Re : Reconstruire une fonction par série de Fourier

    gg0

    A vous lire je me rends compte que mon niveau en logique a besoin d'être revu à la baisse. C'est assez flou, mais du coup tes remarques (toutes pertinentes) m'ont poussé à essayer de reconceptualiser le problème autrement. Les sinus ça semblait joli dans ma tête ( ça fait des beaux dessins), mais il y'a surement plus simple comme approche. L'idée de restreindre la période me semble une première bonne base.

    Je vais repartir au début, en essayant d'oublier cette espèce de mauvaise intuition. Refaire un bon vieux schéma au crayon et papier, internet m'a embrumé l'esprit.

    Dans tous les cas, merci beaucoup, c'est là que je me rends compte à nouveau de la valeur inestimable d'un oeil extérieur, à force de bosser seul derrière son ordinateur.

    Quand ce sera fini, je viendrais vous expliquer le but de la modélisation, ça pourrait vous faire marrer.
    Ou au pire ma solution si j'en trouve une un jour!

    Merci à tous.

Discussions similaires

  1. Développer une fonction en série de fourier !
    Par invite2e9bd804 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 01/02/2012, 10h49
  2. Développement en série de Fourier, fonction porte !
    Par invite34279f95 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 04/05/2010, 15h32
  3. fonction carré avec serie fourier
    Par invite40f82214 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 22/07/2009, 09h30
  4. Serie Fourier Fonction Classique
    Par invitea07a710b dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 16/06/2009, 11h42
  5. De la serie de fourier vers sa fonction...
    Par Gpadide dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 15/11/2006, 20h00