File:800px-FourierExampleGauss04Ta.png
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
|
| , then copy the code below to add this image to a Citizendium article, changing the size, alignment, and caption as necessary.
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/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 18:53, 11 March 2022 | 800 × 165 (60 KB) | Maintenance script (talk | contribs) | == Summary == Importing file |
You cannot overwrite this file.
File usage
The following page uses this file: