Problem with symbolic Fourier Transform

2 次查看(过去 30 天)
Hello, I runing the following code, the answer given for the unit step function expressed as the difference of two heaviside functions seems to be in agreement with the ones found in the literature, but the arguments of delta functions given as answer the to the Fourier Transform of the cosine contain (the unnecessary) 2pi also the amplitude seems to be multiplied by 2pi. To me, this is not in agreement with the literature.
Awaiting your kind comments
syms f_0 t f T A
sympref('FourierParameters',[1 -2*sym(pi)]);
F = A*cos(2*pi*f_0*t);
F_FT = fourier(F,t,f)
F = A*(heaviside(t) - heaviside(t-T));
F_FT = fourier(F,t,f)

回答(2 个)

David Goodmanson
David Goodmanson 2019-7-18
编辑:David Goodmanson 2019-7-18
Hello Halil,
For the delta function,
delta(x-x0) = |a| delta(a(x-x0))
so with a = 2*pi, both versions are correct.
quick look, assuming a>0:
Int delta(x-x0) dx = 1
let x = a y, x0 = a y0, and dx = a dy (which is key) then
Int delta(a(y-y0)) a dy = 1
then replace y by x
Int a delta(a(x-x0)) dx = 1
this function and delta(x-x0) have identical behavior and are equal.
For a<0 there is a bit of messing around with reversing the limits of integration, using the fact that delta is an even function of its argument and so on. You end up with |a| in front.

Halil Eyyuboglu
Halil Eyyuboglu 2019-7-21
Thanks for the comment, it is now verified.

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by