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

 채택된 답변

Star Strider
Star Strider 2020년 7월 1일
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

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.
what is @(t) here??

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

질문:

2020년 7월 1일

댓글:

2021년 1월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by