# plot discrete time domain signals

6 views (last 30 days)

Show older comments

Jinquan Li
on 14 Feb 2021

Commented: Paul Hoffrichter
on 15 Feb 2021

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
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.

### Accepted Answer

Paul Hoffrichter
on 14 Feb 2021

I recommend using following substitutions:

plot(t,y)

axis( [-1 10 0 1])

##### 6 Comments

Paul Hoffrichter
on 15 Feb 2021

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);

### More Answers (0)

### See Also

### Community Treasure Hunt

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

Start Hunting!