Halcyon Calc - Working With Plots

Halcyon Calc can plot your expressions and equations in an X/Y axis allowing you to quickly see how that expression behaves over a series of values. Interact directly with your plots to focus in on the area you are interested in. Working with plots is described in the following sections:

Specifying The Expression To Plot:

In order to plot an expression, you must first construct that expression on the stack. For information on entering an expression, please refer to the guide "Working With Expressions". Once you have entered the expression, you must designate that expression as the one you wish to plot.

With the expression at the top of the stack, execute the STEQ operation from the Plot menu. This will pop the expression off of the stack and store it in a symbol called "EQ". At any time, you can execute the RCEQ operation to recall the expression and push it onto the stack.

When you do a plot, the symbol EQ is retrieved from the current directory and the value of that symbol should the expression to plot.

Adjusting Plot Parameters:

When plotting, there are many pieces of information the calculator needs to know how to plot the expression. It needs to know the bounds of the X/Y coordinate space to plot. It needs to know what symbol in the expression to use for the "X" coordinate. Finally, the calculator needs to know where to position the X and Y axes as well as how much detail to include in the plot.

All of this information is stored in a symbol called PPAR. The value of this symbol is a list of the following items:

  1. The bottom left point (plot minimum) in X/Y coordinates expressed as a complex number. The default value is (-6.8, -1.5).
  2. The upper right point (plot maximum) in X/Y coordinates expressed as a complex number. The default value is (6.8, 1.5).
  3. The independent (X) variable to use when calculating points to plot from the equation. This item should be a symbol and its default value is "constant".
  4. The resolution of the plot expressed as a real value. It specifies the number of pixels in the plot view to increment by when calculating the next point. The default value is 1. Increasing this value will result in higher performance since fewer points need to be calculated but less accuracy in the plot.
  5. The position of the X/Y axes, specified as a complex number. The default value is (0,0).

If the PPAR symbol does not exist, the calculator will use default values for each of these parameters. Of them, the independent variable is likely the only default parameter you need to change. You can manipulate the list manually (refer to Working With Lists guide for more information) and store the value you want into a symbol named PPAR. Or you can use the operations in the Plot menu.

First, you will want to set the independent variable using the INDEP operation. This operation takes a symbol from the top of the stack and sets the appropriate item in the PPAR list. If "X" is the symbol representing the X axis in your expression, then push the symbol 'X' onto the stack (refer to the Working With Symbols guide for more information) and run the INDEP operation.

You may want to adjust the visible section of the X/Y coordinate space. You can use the PMIN and PMAX operations to adjust the lower left and the upper right corners of the plot view directly. Or, you can preserve the size of the view and move the center using the CENTR operation. Finally, you can use the *H and the *W to grow or shrink the height or width respectively. These operations take a factor which is greater than 1 to increase that dimension or less than one to shrink it.

If you do not require high precision, you can use the RES operation to reduce the number of points plotted. This can improve the performance of the calculator when working with a plot. You may want to start with a low precision plot to get a sense of what area you are interested in and then once focused there, increase the precision of your plot.

Finally, you can reposition the X and Y axes from their default position at the origin point, (0, 0). Use the AXES operation to specify a new origin point. You might choose to move the axes to give you a reference point on the plot when focused on an area of the coordinate space which is far from (0, 0).

Thankfully, there are more direct ways to manipulate plots which is described later in the Interacting With A Plot section.

Displaying A Plot:

Once you have specified the expression to plot and setup your plot parameters (or at least the independent variable), you can display the plot simply by executing the DRAW operation from the Plot menu. The stack display will disappear and be replaced with the plot view.

Depending on the position of the X and Y axes and the boundaries of the plot view, a dotted X and/or Y axis may be visible. In the center of the view will be a small plus sign. This is a cursor which allows you to obtain (X,Y) coordinates from the plot and push them onto the stack for later manipulation. Finally, you should see the plot itself being drawn as it is calculated from the left side of the screen towards the right.

At any time you can press the "Attn" key to exit the plot view and return to the usual stack view.

Interacting With A Plot:

With a plot visible on the calculator, the custom buttons will be replaced with those normally used to edit the command line. There is the insert and delete keys (INS and DEL) and four directional arrow buttons. In plot view, the DEL key does not do anything. But, you can use the arrow buttons to move the cursor which appears as a plus sign. When you move the cursor, a transparent rectangle will appear showing the current (X,Y) coordinates of the cursor. After moving the cursor with the arrow keys, you might want to push the current cursor position onto the stack. Press the INS button to do so. The coordinates are pushed onto the stack as a complex number where the X position is the real value and the Y position is the imaginary value.

You can also manipulate the cursor directly. Double tap on an area of the plot to move the cursor there. This is helpful for moving the cursor across the view quickly. Drag the cursor with your finger and it will move along with your motions. Double tap on the cursor itself to push the current position onto the stack as a complex number. Often you will find yourself using direct manipulation to move the cursor close to the point of interest and then you might use the arrow buttons for more accuracy.

A common use for values inserted onto the stack from the cursor position is for finding roots, maxima and minima of an expression. When searching for roots, maxima or minima, the calculator needs between 1 and 3 "guesses" where these points lie. So, if you would like to find a root, insert two points on either side of where the plot crosses the X axis. If you would like to find a maxima or minima, insert three points at a local maxima or minima. One point to the left of the max/min value, one point to the right and finally one as close to the max/min as you can get. These points will be excellent input to the SOLVR.

Although you can use operations from the Plot menu to adjust the boundaries of the plot view, it is much more convenient to directly interact with the plot itself. Just drag your finger across the plot view to move the visible coordinate space. Use a pinch gesture to zoom in or out. When you adjust the boundaries of the plot view this way, the plot will be recalculated so you may find the plot disappears for a couple of seconds while it is re-drawn. But this kind of direct manipulation is much easier to use than relying on operations like PMIN or PMAX to find the part of the plot you care about.

Finally, at any time you can rotate your device into landscape orientation. When you do so with a plot visible, the buttons on the calculator will disappear and the plot view will be full screen. This gives you much more resolution and the detail can be very helpful for understanding your expression. Also, pinches and other gestures are easier to perform on a full screen plot than a small plot visible above the calculator buttons. In landscape mode, you can also directly manipulate the cursor. Although you do not have access to the arrow buttons, you can move the cursor to points of interest and double tap it to insert those points onto the stack.

Using these tools, you can quickly find the portion of your expression which is of interest and gather the information you need.