Programme de reconstruction d'une fonction

Tout ce qui concerne les logiciels mathématiques (Matlab, Maxima, Scilab, R, ...) et les calculatrices scientifiques.
[forum modéré par les modérateurs globaux du site]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
dhahri
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 131
Inscription : vendredi 02 juin 2006, 13:52

Programme de reconstruction d'une fonction

Message par dhahri »

bonjour,
j'ai besoin d'un coup de pouce concernant le problème suivant, n'hésiter pas surtout à me donner vos commentaire concernant ma tentative de résolution de ce problème qui m'as cassé la tête:
on se donne une fonction dont la transformation de Fourier est à support compact, (exemple $f(x)=\frac{sin(\pi x)}{\pi x}$) qu'on connait seulement sur un intervalle $[-5,5]$ par exemple. On se propose de reconstruire $f$ à partir de la portion donnée sur $[-5,5]$. Voila comment on procède:
1/ On applique la transformation de Fourier à $g$ la restriction de $f$ sur $[-5,5]$ .
2/ On prend la portion de $\hat{g}$ sur $[-1,1]$ ( car la transormation de Fourier de f est à support dans $[-1,1]$
3/On applique la transformation de Fourier inverse au signal obtenu
4/Remplacer $g$ sur $[-5,5]$ par l'expression du signal obtenu à l'étape précédente.
5)Répéter les étapes précédentes plusieurs fois pour avoir une bonne approximation de la fonction $f$ en dehors de $[-5,5]$.
Voila ce que j'ai fait:

Code : Tout sélectionner

> with(inttrans):
> f:=x->sin(Pi*x)/(Pi*x);

                                   sin(Pi x)
                         f := x -> ---------
                                     Pi x

> plot(f(x),x=-10..10);

> T:=5:P[T](f):=x->piecewise(x<-T,0,x<T,f(x),0);

         P[5](f) := x -> piecewise(x < -T, 0, x < T, f(x), 0)

> plot(P[T](f)(x),x=-10..10);

> h:=w->
> fourier(P[T](f)(x),x,w);

                 h := w -> fourier(P[T](f)(x), x, w)

> plot(h(w),w=-10..10);
Plotting error, empty plot
> h(1);

                     {     0             x < -5
                     {
                     { sin(Pi x)
             fourier({ ---------          x < 5  , x, 1)
                     {   Pi x
                     {
                     {     0            otherwise

>

Mais sans aucun résultat.
Vos commentaires seront les bien venus.