Spikes in my heaviside function/step functions
Show older comments
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);
plot(x)
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.
2 Comments
Asad Mirza
on 26 Feb 2019
Edited: Asad Mirza
on 26 Feb 2019
Not sure why but when I run the code it comes out without any strange spikes. I am also using MATLAB 2018b.

Just checked it with both MATLAB Online and Octave and I get the same results


Walter Roberson
on 1 Mar 2019
Also, be careful about what heaviside(0) means. See sympref('HeavisideAtOrigin')
Answers (1)
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.
3 Comments
Samantha Zhao
on 7 Mar 2019
Munish Raj
on 7 Mar 2019

The red highlighted plot is the heaviside plot that you are looking for.
The other parts are the extra plots, possibly from another plot function.
Samantha Zhao
on 7 Mar 2019
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!