Cartesian equations in which neither x
nor y
can be isolated (because there are two or more instances of each variable) are known as implicit functions. Since there is no easy way to solve these equations for either variable, the standard equation graphing routine cannot be used in this case. Instead, the equation is transformed into an ordinary differential equation and plotted by approximating the solution to the ODE. Because the program only searches for initial values for the approximation within the current grid range, the grid range at the time you enter the equation is very important to the success of the graph. If you have an idea of where the graph should appear, you should focus the grid on that region before you enter the equation.
You can draw almost any graph using an implicit function. However, because the transformation into an ODE requires computing the partial derivatives of the original implicit function with respect to both x and y, this method is not supported when your equation contains non-differentiable functions like int()
and abs()
.
I am still perfecting the code that searches for initial values for the ODEs. (Because many graphs consist of disjoint "lobes" and the ODE approximation cannot be run through sections of the curve with vertical slope, often multiple initial values must be found in order to draw the entire curve.) Under some circumstances, the initial value search may miss one or more "lobes" of the implicit function. If your graph looks incomplete, you may want to try deleting the equation, adjusting the range, and re-entering it to see if you can improve the results of the search for initial values.