signal fourier transform include unit step function

hey there. the question is this : x(t) = (exp(1)^-t)×u(t) note: u(t) is unit step function that has valeu 1 for (t >= 0) question is calcutlating X(w) the main idea is that (t) is symbol but u(t) only changes the range of fourier integral.
my code :
syms t;
t = linspace(-20, 20, 5000);
u = @(t) (t >= 0);
x = @(t) exp(1).^(-t).*u(t);
x_w = fourier(x(t))
error : check for missing argument or incorrect argument data type in call to function 'fourier'
i found that I can't handle that unit step function in x(t). when i don't have u(t) so I don't need t = linspace...... then every thing works great. but i need to solve this question

 Accepted Answer

Try this version of your code:
syms t x(t)
% t = linspace(-20, 20, 5000);
% u = @(t) (t >= 0);
x(t) = exp(-t) * heaviside(t);
x_w = fourier(x(t))
producing:
x_w =
1/(1 + w*1i)
The parts I commented (%) are not necessary here.
.

4 Comments

good job!
is this format correct too?
syms t
x = @(t) exp(-t) * heaviside(t);
x_w = fourier(x(t))
Thank you!
Yes. When I ran it, the result was:
x_w =
1/(1 + w*1i)
This slightlly surprised me, because I did not believe that the Symbolic Math Toolbox recognised anonymous functions.

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!