This semester some people found scilab challenging. Here are some aids to understanding scilab. 1. plot(x,y,line_spec) By default, plot's keep adding to the existing graph. Use clf() to clear the field and start over with a new plot. This plots a 2D graph. I assumes x is an row vector x(1), x(2), ... x(n) and y is another row vector y(1), y(2), ... y(m). It gives an error if n and m are unequal, otherwise it plots the points (x(1), y(1)), (x(2), y(2)), ... (x(n), y(n)) and possibly connects them according to the optional line_spec. line_spec can ask for a color: "b" for blue, "r" for red, "k" for black ... marker:"o" for circle, "x" for cross, .. line style: "-" solid, ":" dotted, ".." noline samples t = -2:1:2; tsq = t .* t; plot(t, tsq, "bx-") t = -2:0.1:2; tsq = t .* t; plot(t, tsq, "r0-") 2. Plot labels can be added with xtitle xtitle("y = x^2", "x", "y"); 3. How to convert from time to index and back. t = 40:0.5:100; is a use of the famous colon operator (:) it says make t the row vector 40, 40.5, 41.0, ... 99.5, 100.0. We can now use t to find function values like y=sin(t) which will be sin(40), sin(40.5), sin(41) ... sin(99.5), sin(100) [In radians not degrees.] We can see the function by looking at [t;y]' which will give 40 sin(40) 40.5 sin(40.5) 41 sin(41) 41.5 sin(41.5) ... While this not the only way of doing the next step. It is important for applications. Suppose we only want y(50.0), y(60.0), y(70.0) and we need to dig them out of the row vector y. We need to know which entry of t has 50.0, 60.0 and 70.0. Hard way is to pair up 1 goes to 40.0, 2 goes to 40.5 ... Fast way is see t increases by 10 every 20 steps so 21 goes to t=50, 41 goes to t=60 and 61 goes to t = 70 So 21:20:61 are the values we want. Check it by looking at t(21:20:61). The value we want are y(21:20:61). 4.