## Finding the equation of a curve

How would I go about finding the equation of a curve given an arbitrary number of points? Please don't give me a full explanation if you don't want to, just the name of a process by which I could do this would be fine.
 Recognitions: Gold Member Homework Help Science Advisor Staff Emeritus You first have to choose a functional form to which to fit your points. In order to choose wisely, you should produce a scatterplot and try to find a functional form that looks close. For instance if in your data table the value of the dependent variable plunges downward for very small positive values of the dependent variable, and the function increases monotonically, then you might try to fit a log function to the data. So howsabout you post your data set?
 Recognitions: Gold Member Science Advisor Staff Emeritus Given any finite set of points, there exist an infinite number of curves that will pass through those points so you have to decide what conditions you want to put on the curve you are looking for. Google on "curve fitting" and you will see some options. If you are looking for a function of the form y= f(x), then putting the x and y values of n points into that equation will give you n equations which you could solve for n unknowns. In particular, a polynomial of degree n-1 will have n coefficients so given n points, there always exists a unique polynomial of degree n-1 passing through those points. Those tend to be very "wavy" so many applications use a "spline" function instead- a function that is "piece-wise" polynomial. Google on "spline functions-" in particular you might look at http://www.cse.unsw.edu.au/~lambert/splines/ On the other hand, the best choice may not be a curve that actualy passes through the points but one that is "close" in some sense. For that, you might use a "least squares" method. Google on "least squares". Mathworld has this: http://mathworld.wolfram.com/LeastSquaresFitting.html

## Finding the equation of a curve

 Quote by Tom Mattson You first have to choose a functional form to which to fit your points. In order to choose wisely, you should produce a scatterplot and try to find a functional form that looks close. For instance if in your data table the value of the dependent variable plunges downward for very small positive values of the dependent variable, and the function increases monotonically, then you might try to fit a log function to the data. So howsabout you post your data set?
Well that's the thing - I don't have a data set. I'm trying to write a program that will return an equation to a set of data that I input. I suppose I could write one to graph the data and estimate the family of that function based on that - as you mentioned - but I thought there might be an easier way.

 Quote by HallsofIvy Given any finite set of points, there exist an infinite number of curves that will pass through those points so you have to decide what conditions you want to put on the curve you are looking for. Google on "curve fitting" and you will see some options. If you are looking for a function of the form y= f(x), then putting the x and y values of n points into that equation will give you n equations which you could solve for n unknowns. In particular, a polynomial of degree n-1 will have n coefficients so given n points, there always exists a unique polynomial of degree n-1 passing through those points. Those tend to be very "wavy" so many applications use a "spline" function instead- a function that is "piece-wise" polynomial. Google on "spline functions-" in particular you might look at http://www.cse.unsw.edu.au/~lambert/splines/ On the other hand, the best choice may not be a curve that actualy passes through the points but one that is "close" in some sense. For that, you might use a "least squares" method. Google on "least squares". Mathworld has this: http://mathworld.wolfram.com/LeastSquaresFitting.html

I checked the least squares method before I posted here but I wasnt sure if it would be quite right. I just skimmed over it, but I got the impression that the least squares method gave a "line of best fit" result. I need a function that will pass through every one of my points.

I'll check out spline functions. Thanks

Recognitions:
Gold Member
Homework Help
Science Advisor
Staff Emeritus
 Quote by Alex Well that's the thing - I don't have a data set. I'm trying to write a program that will return an equation to a set of data that I input.
You should probably look at an already existing program that can do this. By far the most ubiquitous one is MS Excel. It will fit your data to a curve, but the user has to choose what kind of regression he wants before anything can happen. As HallsofIvy said, there are an infinite number of curves that will fit the data, so the user must make a decision.

 Quote by Tom Mattson You should probably look at an already existing program that can do this. By far the most ubiquitous one is MS Excel. It will fit your data to a curve, but the user has to choose what kind of regression he wants before anything can happen. As HallsofIvy said, there are an infinite number of curves that will fit the data, so the user must make a decision.
I've tried to search for an already existing program to do this but I've found nothing that is open-source or easily incorporatable in a c program.

Maybe you could help me with an example? Ie: How would I go about finding the equation of a sin curve for the points [(1,7), (2,21), (3, -14),]? Also how would I choose a regression for that curve? I'm sure that I did this in calculus back in highschool but I cant really remember the process.
 Ok, nevermind. I think I found what I was looking for. Thanks :) http://www.tinaja.com/glib/powerfit.pdf
 Thread Tools

 Similar Threads for: Finding the equation of a curve Thread Forum Replies General Math 1 Calculus & Beyond Homework 10 Introductory Physics Homework 4 Introductory Physics Homework 2 Introductory Physics Homework 6