Why am I not able to obtain the Fourier Transform of exponent expression using Symbolic math?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Emmanuel J Rodriguez
el 6 de Ag. de 2021
Comentada: Emmanuel J Rodriguez
el 7 de Ag. de 2021
The answer should be a closed-form solution.
% Practice, Problem 7 from Kreyszig sec 10.10, p. 575
syms f(x)
f(x) = x*exp(-x);
f_FT = fourier(f(x))
% Doesn't find transform
assume(x>0)
f_FT_condition = fourier(f(x))
assume(x,'clear')
ans:
f_FT =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/704962/image.png)
f_FT_condition =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/704962/image.png)
0 comentarios
Respuesta aceptada
Paul
el 6 de Ag. de 2021
Based on the assumption, I'm going to assume that f(x) = x*exp(-x) for x>=0 and f(x) = 0 for x < 0. In which case
syms f(x)
f(x) = x*exp(-x)*heaviside(x);
fourier(f(x))
If that's the expected result check out
doc heaviside
to understand why f(x) is defined that way.
3 comentarios
Paul
el 6 de Ag. de 2021
The scaling on the Fourier transform is arbitrary, but must be consistent with the scaling on the inverse transform. This scaling is controlled via sympref() (look at its doc page before you use it). The default is a scaling of 1 on the Fourier transform. But you can change that:
syms f(x)
f(x) = x*exp(-x)*heaviside(x);
sympref('FourierParameters',[1/(sqrt(2*sym(pi))) -1]);
fourier(f(x))
Más respuestas (0)
Ver también
Categorías
Más información sobre Calculus en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!