 
Fast Fourier transform java applet
by Stjepan Poljak
2010.

Basic information:
This program has been made as a practical part of my master thesis on fast
Fourier transform and its applications. It can perform DFT and inverse DFT on
function samples which are obtained by setting the interval [x_{1},x_{n}]
on which the sampling will be done; n is the number of samples (a power of two is
recommended, eg. 4, 8, 16, et cetera). Those values can be accessed (readonly) by reserved
variables Rx1, Rxn and Rn. The program supports the ability to load
and save the current status, as well as the ability to export files into
Wolfram's Mathematica notebook (.nb) format.
Supported functions:
 trigonometric (sin, cos, tan)
 cyclometric (arcsin, arccos, arctan)
 hyperbolic (sinh, cosh, tanh)
 other (sqrt, ln, abs, arg, Re, Im)
Inbuilt constants:
 pi
 e (Euler's number)
 i (imaginary unit)


Syntax example 1:
a=1/2
y=a*x^2

Syntax example 2:
b=2
y=b x^2+3x

 
Syntax example 3:
if((x>pi/2)&&(x<3pi/2))
y=sin(x)+i cos(x)
else
y=i abs(sin(4x))^2
endif

Note that trigonometric and logarithmic functions can deal with complex numbers. One can
calculate an integer power of a number correctly, but for real powers it works on a rather
small interval (eg. e^x works correctly only for x in <2,7>). The program also supports if
branching (ifelseendif) and logic operators (&&, ). For nondefind values (eg. division by zero)
it takes the default value of 0.

