plot discrete time domain signals

34 views (last 30 days)
Given n=[-1:0.01:10]. Plot the discrete time domain signal: y[n]=e^(-n)*u(n).
Below is my program but i'm not sure if it's correct since this is my fisrt time learning Matlab. Please help. Thanks!
n=-1:0.01:10;
y=exp(-n).*heaviside(n);
stem(t,y)
  1 Comment
Paul
Paul on 14 Feb 2021
Edited: Paul on 15 Feb 2021
Be careful using heaviside for u[n]. In control systems and signal processing the function u[n] is the unit step function that is (typically) defined as
u[n] = 1 for n >= 0
u[n] = 0 for n < 0.
However, the default defintion of the heaviside function in Matlab has heaviside(0) = 0.5., which is clearly seen in the plot. Is that the desired answer?
Also, it looks a bit peculiar to have non-integer values of n. Please make sure that's the correct problem statement.

Sign in to comment.

Accepted Answer

Paul Hoffrichter
Paul Hoffrichter on 14 Feb 2021
I recommend using following substitutions:
plot(t,y)
axis( [-1 10 0 1])
  6 Comments
Paul Hoffrichter
Paul Hoffrichter on 15 Feb 2021
Take a look at
The following defines the myStep function so that myStep(0) is 0 instead of 0.5.
myStep = @(n) (n>0);
If you wanted a value of 1 at n = 0, then you could use this instead:
myStep1 = @(n) (n>=0);

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by