## Plotting Equations

At this time, qdex does not allow you to simply input an equation and plot it automatically. To plot any equation, you must create a for-loop inside of a script that calculates the y value of said equation, then adds (x,y) points to a buffer on each iteration. When the for-loop is finished, the Update method is called to add the specified points to the plot.

### Example 1

This example plots the equation 4x^3 - x + 9 over the range -100 to 100.

You can copy this example into your document as-is.

```<xyPlot name="myPlot">
<series name="aSeries" manual="true"/>
</xyPlot>

<script>
local x, y;
local plotPointer = myPlot.aSeries;

for x = -100, 100, 1 do
y = 4*math.pow(x,3) - x + 9
plotPointer:Add(x,y)
end
plotPointer:Update()
</script>```

### Example 2

This example plots the equation 2sin(x) over the range -10 to 10. A smaller increments of 0.1 is used in the for-loop to ensure that the wave is plotted smoothly. The lineSegments draw mode is used to draw a dotted line.

You can copy this example into your document as-is.

```<xyPlot name="newPlot">
<series name="mySeries" draw="lineSegments" manual="true" />
</xyPlot>

<script>
local x, y;
local sinePlot = newPlot.mySeries;

for x = -10, 10, 0.1 do
y = 2*math.sin(x)
sinePlot:Add(x,y)
end
sinePlot:Update()
</script>```

### Example 3

It is possible to add points to a plot without explicitly defining the series in that plot.

This example plots three equations over the range of -10 to 10. Notice that the three series are not defined by name in the plot declaration, and instead defined as a plot attribute.

You can copy this example into your document as-is.

```<xyPlot name="thisPlot" series="3" />

<script>
for x = -10, 10, 0.1 do
y1 = 2*math.pow(x,2)
y2 = 0.5*math.pow(x,3)
y3 = 0.25*math.pow(x,4)
thisPlot.Series:Add(x,y1)
thisPlot.Series:Add(x,y2)
thisPlot.Series:Add(x,y3)
end
</script>```