Function Analyzer AKA Solver



Function Analyzer is a small OS/2 program that I wrote for myself when I was a schoolboy. It allows user to plot functions, solve equations, find derivative and integrate functions with specified step. The development platform was IBM VisualAge for C++, version 3.

The program is totally unsupported and development was stopped long ago. Version 1.52 seems to be stable enough. Everyone is granted all the permissions to do anything with this tool and its sources.
 

Here is some kind of a user guide:

Interface help:
  1. add button, adds current function to the function list
  2. current function entry field, shows and allows to modify/enter current function
  3. function parameter entry field, allows to enter integration step, X value, or the right side of the equation
  4. operation result entry field, shows the result of simplification, derivation or function processing
  5. process button, parses [and simplifies] current function
  6. count at button, shows function value at the specified point, requires parameter field to contain the required X value, i.e. <current function>(<parameter>)
  7. solve at button, tries to solve the equation <current function>(x) = <parameter> where possible values of <x> lie in [ <X min>, <X max> ] interval
  8. derivative button, finds the derivative of the current function
  9. integral button, calculates the current function integral on [ <X min>, <X max> ], integration step is required to be set in the parameter entry field
  10. simplify check box, turns automatic function simplification on/off
  11. Y max entry field
  12. plot area with X-axis and Y-axis, allows to adjust X min/max and Y min/max visually by mouse: to zoom in press the left mouse button and select rectangle to view; to zoom out use the right mouse button and the whole plot area will zoom out to the selected rectangle.
  13. function list, shows the list of added functions, allows to select function to be visible on the plot
  14. remove button, removes the selected functions from the function list
  15. Y min entry field
  16. refresh button, redraws the plot area
  17. X min entry field
  18. status line
  19. X max entry field
Note: All entry fields accepts mathematical expressions, thus -pi/2 may appear in the X min entry field. Expression case is ignored, i.e. SIN=Sin=sin.
 

Mathematical expression syntax [version 1.52]:

  • Function Analyzer supports classical mathematical expression syntax and priorities.
  • parenthesis are supported,  ( and )
  • supported operators:
    • unary and binary + and -
    • * and /
    • ^ for power
  • supported mathematical functions
    • sin(), sine
    • cos(), cosine
    • tg(), tangent
    • arcsin(), arcsine
    • arccos(), arcconsine
    • arctg(), arctangent
    • ln(), natural logarithm
    • lg(), decimal logarithm
    • exp(), exponent, i.e. exp(x) = e^x
    • abs(x), modulus, i.e. abs(x) = x>0?x:-x
  • supported constants: pi and e 
Note 1: all trigonometric functions take or return radians (not degrees).
Note 2: abs() in 1.52 version has no derivative thus "derivative function" is not available for the functions that contain abs(). Version 1.60 overcomes such limitation, because it adds several special functions but I had no time to finish it.
 

Back to top.

Last updated on: November 18, 2002
(C) Gregory Shrago, anjin@mail.ru