File:800px-FourierExampleGauss04Ta.png

From Citizendium
Revision as of 08:30, 4 September 2012 by imported>Dmitrii Kouznetsov (add generator of curves)
Jump to navigation Jump to search

800px-FourierExampleGauss04Ta.png(800 × 165 pixels, file size: 60 KB, MIME type: image/png)

Summary

Title / Description


Application of the Discrete Fourier operator at the sample of 4 nodes.
Citizendium author


Dmitrii Kouznetsov
Date created


2011
Country of first publication


Japan
Notes


The Gaussian function Failed to parse (syntax error): {\displaystyle f(x)=\exp(−x^2/2)} is shown with dashed curve.

The discrete analogy is shown with blue segmented line.

The Discrete Fourier transform is shown with red segmented line.

Other versions


http://tori.ils.uec.ac.jp/TORI/index.php/File:FourierExampleGauss04Ta.png
Using this image on CZ


Please click here to add the credit line, then copy the code below to add this image to a Citizendium article, changing the size, alignment, and caption as necessary.

{{Image|800px-FourierExampleGauss04Ta.png|right|350px|Add image caption here.}}

Image issue? Contact us via the email below.

Please send email to manager A T citizendium.org .

Licensing

This media, 800px-FourierExampleGauss04Ta.png, is licenced under the Creative Commons CC0 1.0 Universal License

No copyright: The person who associated a work with this licence waives all rights to the work under copyright law and all related or neighboring legal rights in the work, to the extent allowable by law.
Patent or trademark rights, or rights other persons may have either in the work itself or in how the work is used such as publicity or privacy rights, are not affected.
Read the full licence.


C++ generator of curves

// FIles fafo.cin and ado.cin should be in the working directory for the compilation of the code below.

#include<math.h>
#include<stdio.h>
#include <stdlib.h>
#include <complex>
using namespace std;
#define z_type complex<double>
#define Re(x)  x.real()
#define Im(x)  x.imag()
#define RI(x)  x.real(),x.imag()
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
#include "ado.cin"
#include"fafo.cin"
// DB F(DB x){DB u=x*x; return u*(-3.+u)*exp(-x*x/2.);} //Another self-Fourier function
DB F(DB x){return exp(-x*x/2.);}
main(){        z_type * a, *b, c; int j,m,n, N=4; FILE *o;
       double step=sqrt(2*M_PI/N),x,y,u;
       a=(z_type *) malloc((size_t)((N+1)*sizeof(z_type)));
       b=(z_type *) malloc((size_t)((N+1)*sizeof(z_type)));
for(j=0;j<N;j++) { x=step*(j-N/2); u=x*x; a[j]=b[j]=F(x); }
fafo(b,N,1);
for(j=0;j<N;j++) printf("%2d %18.15f %18.15f  %18.15f %18.15f\n", j, RI(a[j]), RI(b[j])  );
o=fopen("FourierExampleGauss04a.eps","w"); ado(o,624,124); 
#define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y);
#define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y);
fprintf(o,"322 22 translate 100 100 scale\n");
M(-3,0) L(3,0) M(0,0) L(0,1) fprintf(o,".01 W S\n");
M(-3,1) L(3,1) 
for(m=-3;m<4;m++) {M(m,0) L(m,1)} fprintf(o,".004 W S\n");
DO(m,121){x=-3.+.05*m; y=F(x); if(m/2*2==m)M(x,y)else L(x,y);} fprintf(o,".008 W 0 0 0 RGB S\n");
DB *X; X=(DB *) malloc((size_t)((N+1)*sizeof(DB))); DO(j,N){ x=step*(j-N/2); X[j]=x; }
DO(j,N){x=X[j];y=Re(a[j]); if(j==0)M(x,y)else L(x,y);} fprintf(o,".01 W 0 0 1 RGB S\n");
DO(j,N){x=X[j];y=Re(b[j]); if(j==0)M(x,y)else L(x,y);} fprintf(o,"0.01 W 1 0 0 RGB S\n");
// DO(j,N){x=X[j];y=100.*(Re(b[j])-F(x)); if(j==0)M(x,y)else L(x,y);} fprintf(o,"0.007 W 0 0 .3 RGB S\n");
printf("X[0]=%9.5f\n",X[0]);
fprintf(o,"showpage\n%cTrailer",'%'); fclose(o);
system("epstopdf FourierExampleGauss04a.eps");
system(    "open FourierExampleGauss04a.pdf"); //these 2 commands may be specific for macintosh
getchar(); system("killall Preview");// if run at another operational system, may need to modify
free(a);
free(b);
free(X);
}
/*Copyeft 2011 by Dmitrii Kouznetsov */

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current19:53, 11 March 2022Thumbnail for version as of 19:53, 11 March 2022800 × 165 (60 KB)Maintenance script (talk | contribs)== Summary == Importing file

The following page uses this file: