Symbolic DFFT in MATLAB?

Hi Guys!
I'd like to ask for your help to execute symbolic discrete FFT on a 1D array containing integers (eg. [1 1]), then plotting its abs on a continuous interval. Is it even possible with the symbolic toolbox?
Thanks in advance, Ben0it8

1 Comment

To check, you are only working with numeric values, but you want the result to be (e.g.) sin(42+cosh(19)) instead of the numeric equivalent ?

Sign in to comment.

Answers (1)

I have no idea what “plotting its abs on a continuous interval” means, but you certainly can get a symbolic, exact, FFT from the Symbolic Math Toolbox:
>> feval(symengine, 'numeric::fft', [1 1], 'Symbolic').'
ans =
2
0
>> feval(symengine, 'numeric::fft', [1 1 2], 'Symbolic').'
ans =
4
1/2 + 2*((3^(1/2)*i)/2 + 1/2)^2 - (3^(1/2)*i)/2
- 3^(1/2)*i + ((3^(1/2)*i)/2 + 1/2)^2

1 Comment

Since somebody asked (please do use the questions feature here, instead of sending me email): There is no 'numeric:ifft', but you can use 'numeric::invfft'.
Note, however, that like anything involving feval(symengine, ..., this is considered an undocumented feature and can go away at any time. If this is functionality you regard useful and important for what you do, please do reach out to support@mathworks.com and let us know that you request “proper” support in the toolbox.

Sign in to comment.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Asked:

on 17 Mar 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!