Plotting a fourier transform graph

syms t;
f=t*rectangularPulse(t/2);
F=fourier(f);
Hello, above are the main coding I used for my fourier transform, I'm trying to plot a fourier transform graph, but everytime I tried it either gives a blank graph or sometimes a graph with horizontal line.
I had tried to use plot() and ezplot() but it gives error as I don't have much understanding, I watched youtube videos but still dont understand. I also tried using fplot() but it gives empty graph. I tried a lot of ways through trials and errors but not successful result.

 采纳的回答

Try this:
syms t w
f(t)=t*rectangularPulse(t/2);
F(w)=fourier(f,t,w);
figure
fplot(real(F), [-50 50])
hold on
fplot(imag(F), [-50 50])
fplot(abs(F), [-50 50], 'LineWidth',1.5)
hold off
grid
legend('\Re(F)', '\Im(F)', '|F|')
.

4 个评论

Interesting, it works. Mind explaining a bit on the "t" & "w" in the fourier(f,t,w)?
...by default it is fourier(f,var,transVar), right? but what is var and transVar actually is?
Those represent the original variables (here ‘t’ since ‘f’ is a function of ‘t’), and the transformation variable ‘w’ or angular frequency. Those are the defaults, however I prefer to provide them explicitly in order to be sure I know what I am dealing with.
Thank you!! Although it seems like a stupid/easy question, but your answer is really beneficial!
As always, my pleasure!
Thank you!
It was not a ‘stupid’ question by any interpretation, if my clarifying it helped you understand why I wrote my code as I did! That is how we all learn.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by