How do I plot step functions in gnuplot?

  • Thread starter neutrino
  • Start date
  • #1
2,063
2
Among the demos at the gnuplot website, I saw this - http://gnuplot.sourceforge.net/demo/steps.1.gnu, but it does not make much sense to me. :(

Could someone tell me how to plot step functions from the command line, just like you would the usual functions? Specifically, I'd like to plot floor/greatest integer functions.

Thanks
 

Answers and Replies

  • #2
robphy
Science Advisor
Homework Helper
Insights Author
Gold Member
5,757
1,052
plot [-5:5][-5:5] floor(3*sin(x))

plot [-5:5][-5:5] ceil(x**2)

Your examples seem to require external data files.
 
  • #3
2,063
2
plot [-5:5][-5:5] floor(3*sin(x))

plot [-5:5][-5:5] ceil(x**2)

Your examples seem to require external data files.
Thanks a lot, robphy! :-)

EDIT: I just tried an example. While it does plot the lines of constancy, there are slanted lines that "connect" the horizontal ones. Is there a way I could get rid of them, i.e., the slanted ones?
 
Last edited:
  • #4
robphy
Science Advisor
Homework Helper
Insights Author
Gold Member
5,757
1,052
Try to increasing the sampling resolution before plotting:

set samples 10000
 
  • #5
2,063
2
Try to increasing the sampling resolution before plotting:

set samples 10000
Nice. Although the slants have only become vertical, they at least look like steps. :biggrin: Thanks, again. :)
 
  • #6
robphy
Science Advisor
Homework Helper
Insights Author
Gold Member
5,757
1,052
http://www6.uniovi.es/gptug/node5.html
makes a suggestion to plot two piecewise-defined functions with illegal parts:

f1(x)=(x<1) ? 0 : sqrt(-1)
f2(x)=(x<1) ? sqrt(-1): 1

plot [-5:5][-2:2] f1(x),f2(x)

you'll have to poke around to set the color of each function to be the same
 
  • #7
You can declare a step function by using signum function by entering the command:

u(x,t)=(1+sgn(x-t))/2
 

Related Threads on How do I plot step functions in gnuplot?

Replies
4
Views
4K
  • Last Post
Replies
1
Views
6K
Replies
1
Views
822
  • Last Post
Replies
3
Views
15K
Replies
3
Views
4K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
0
Views
11K
Replies
0
Views
829
Replies
1
Views
3K
Top