With this window the user can create graphs from other graphs.

The following operators needs two operands: +, -, * and /.

The first operand is a result and the second operand can be a literal or a graph. These operations are done on the selected components and the graphs needs to have the same number of values.

The 'fit' operator needs two graphs.

If graph1 = ( g1x1, g1x2, ..., g1xn) and ( g1y1, g1y2, ..., g1yn) then if second operand is

• a literal then the resultant graph is ( g1x1 op literal.a, g1x2 op literal.a, ..., g1xn op literal.a) and ( g1y1 op literal.b, g1y2 op literal.b, ..., g1yn op literal.b)
• a graph ( graph2) then the result is ( ( r11 op r21, r12 op r22, ..., r1n op r2n).

The other operators needs a graph as operand and the axis to be precessed can be selected in some of them.

If graph2 = ( g2x1, g2x2, ..., g2xn) and ( g2y1, g2y2, ..., g2yn) is the operand then:

• Abs: The result is ( abs( g2x1), abs( g2x2), ..., abs( g2xn)) or ( abs( g2y1), abs( g2y2), ..., abs( g2yn));
• SqrtAbs: The result is ( sqrt( abs( g2x1)), sqrt( abs( g2x2)), ..., sqrt( abs( g2xn))) or ( sqrt( abs( g2y1)), sqrt( abs( g2y2)), ..., sqrt( abs( g2yn)));
• LogAbs: The result is ( log( abs( g2x1)), log( abs( g2x2)), ..., log( abs( g2xn))) or ( log( abs( g2y1)), log( abs( g2y2)), ..., log( abs( g2yn)));
• Log10Abs: The result is ( log10( abs( g2x1)), log10( abs( g2x2)), ..., log10( abs( g2xn))) or ( log10( abs( g2y1)), log10( abs( g2y2)), ..., log10( abs( g2yn)));
• db10: The result is ( 10·log10( abs( g2x1)), 10·log10( abs( g2x2)), ..., 10·log10( abs( g2xn))) or ( 10·log10( abs( g2y1)), 10·log10( abs( g2y2)), ..., 10·log10( abs( g2yn)));
• db20: The result is ( 20·log10( abs( g2x1)), 20·log10( abs( g2x2)), ..., 20·log10( abs( g2xn))) or ( 20·log10( abs( g2y1)), 20·log10( abs( g2y2)), ..., 20·log10( abs( g2yn)));
• Exp: The result is ( eg2x1, eg2x2, ..., eg2xn) or ( eg2y1, eg2y2, ..., eg2yn);
• Pow10: The result is ( 10g2x1, 10g2x2, ..., 10g2xn) or ( 10g2y1, 10g2y2, ..., 10g2yn);
• 1/: The result is ( 1 / g2x1, 1 / g2x2, ..., 1 / g2xn) or ( 1 / g2y1, 1 / g2y2, ..., 1 / g2yn);
• derivate: Will create a graph with the derivate values of graph2: ( g2x1 + offset * ( g2x2 - g2x1), g2x2 + offset * ( g2x3 - g2x2), ..., g2xn-1 + offset * ( g2xn - g2xn)) and ( ( g2y2 - g2y1) / ( g2x2 - g2x1), ( g2y3 - g2y2) / ( g2x3 - g2x2), ..., ( g2yn - g2yn-1) / ( g2xn - g2xn-1)), offset can be set by the user;
• integral: Will create a graph with the accumulated values of graph2: ( g2x1, g2x2, g2x3, ..., g2xn) and ( 0, SumArea( g2x1 ... g2x2, g2y1 ... g2y2), SumArea( g2x1 ... g2x3, g2y1 ... g2y3), ..., SumArea( g2x1 ... g2xn, g2y1 ... g2yn);
• fit: Will fit the bounding box of graph2 to the bounding box graph1, also the x or the y axis can be fitted;
• dFT: Does the discrete fourier transform on graph2, fat fourier transform if the number of values is power of 2, several options can be set by the user with the following options window ( the create polar graph calculates the modulus for the x values and the phase for the y values which can be used to draw the polar graph using the Window --> View graphs window):

• inv-dFT: Calculates the inverse discrete fourier transform using the x-values and y-values as the real and imaginary part of the complex;
• CubicSpline: Interpolates a graph using cubic splines and the user can define the number of steps between the graph values;
• CatmullRomSpline: Interpolates a graph using Catmull-Rom splines and the user can define de number of points along the interpolated graph; the picture below shows the difference between these two spline types when interpolating a simple 4 point graph, in red: