Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

It might help understanding my question to think of the hypothetical situation in which I draw a seemingly random function on a piece of paper (with an accurate coordinate axis already on the paper), and I scan my drawing into the computer. Then I open an application that can "look" at the graph (as a set of data points, maybe? I don't know how such an algorithm would work) and identify the function's corresponding equation.

I know there are polynomial curve fitting methods, but I was wondering if there was a more general algorithm for identify any type of function's equation in their most used form.

share|cite|improve this question
Your graph is inaccurate, so there are many different functions that would look close enough. For many special classes there are specific algorithms, but you need to constraint yourself to get something useful (e.g. to polynomials of the smallest fitting degree). If you assume that your graph is accurate (that means it has infinite precision), then it uniquely determines your function (because of your assumption). There is no tool to guess it, your graph is your function. – dtldarek Jan 31 '13 at 22:10

If your graph has a distance $0.01$ from the graph of the function $y=x^2$ and distance $0.00001$ to the graph of the function $y=x^2+0.009$ which of the two functions you would choose?

share|cite|improve this answer

The Cornell Creative Machine Lab developed Eureqa to approach this problem. From their website:

Eureqa (pronounced "eureka") is a software tool for detecting equations and hidden mathematical relationships in your data. Its goal is to identify the simplest mathematical formulas which could describe the underlying mechanisms that produced the data.

As others have pointed out, there are many functions which can be fitted to a data set, Eureqa attempts to find the the "simplest" explanation and there is no guarantee that it will uncover the "true" function that generated the data set.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.