Why am I not able to obtain the Fourier Transform of exponent expression using Symbolic math?
조회 수: 3 (최근 30일)
이전 댓글 표시
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 =
f_FT_condition =
댓글 수: 0
채택된 답변
Paul
2021년 8월 6일
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
Paul
2021년 8월 6일
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))
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!