MATLAB Answers

Spikes in my heaviside function/step functions

5 views (last 30 days)
Samantha Zhao
Samantha Zhao on 26 Feb 2019
Commented: Samantha Zhao on 7 Mar 2019
I am trying to plot a simple unit step function (below) using the heaviside function.
x(t) =u(t)−u(t−2)
t = -10:.01:10;
x = heaviside(t) - heaviside(t-2);
The plot results in a unit step function with spikes at 4 and -3.
So far my solutions have been editing in the correct values at the appropriate indexes, but it has been getting very tedious. What could be causing this issue? I am also using the 2018b edition and have not noticed this in previous versions.
Walter Roberson
Walter Roberson on 1 Mar 2019
Also, be careful about what heaviside(0) means. See sympref('HeavisideAtOrigin')

Sign in to comment.

Answers (1)

Munish Raj
Munish Raj on 1 Mar 2019
Hello Samantha,
The plot in your picture is a mixture of two different plots. It has the intended heaviside as expected.
As you can notice, the y axis of the plot is from [-3 4]. However, the expected heaviside function is plotted in [1 0] on the y axis.
Also please make sure there is no previous plot.
Use the hold off command before plotting the heaviside function.
hold off
to make sure that a new plot is being plotted.
Samantha Zhao
Samantha Zhao on 7 Mar 2019
I have reinstalled Matlab, opened up a new script, and made sure that there is nothing else being plotted with my heaviside. I'm really at a loss expecially when others are able to produce a normal graph with the exact code!

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!

Translated by