Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fitting a curve to data

  1. Jun 27, 2007 #1
    I have a set of data points relating the width of an object in an image to its distance from the camera. I'd like to find the simplest curve that fits "pretty well". When I graph the points, it looks like a hyperbola would be a good fit. Is there a simple iterative method to find an equation?

    The data:
    (20, 59)
    (30, 44)
    (40, 34)
    (50, 28)
    (60, 24)
    (70, 21)
    (80, 19)
    (90, 17)
    (100, 15)
    (125, 12)
    (150, 10)
    (175, 9)
    (200, 8)
    (225, 7)
    (250, 6)
    I suppose I could add (0,infinity) to that list. Nothing above x=250 is relevant.
     
  2. jcsd
  3. Jun 27, 2007 #2

    Integral

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    There is no way to generate the functional relationship. You need to "guess" a relationship then attempt to find the characteristic parameters.
     
  4. Jun 27, 2007 #3

    uart

    User Avatar
    Science Advisor

    Yes theoretically it should be a hyperbola. So take the reciprocal of the second data column and then it should be a straight line.
     
  5. Jun 27, 2007 #4

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    log log plots. as were taught decades ago, but seemingly not anymore....
     
  6. Jun 27, 2007 #5
    Thanks, uart, that was very helpful.

    Matt: I'll put that on my to-do list. ;)
     
  7. Jun 28, 2007 #6

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    It's quite a simple device, really.


    If you believe that data x_i and y_i are related by something like x^n=k*y^m, then taking logs nlog(x)=log(k)+mlog(y), i.e. their logs should form a straight line graph. You can also try variations if you thought that y^n=k*exp(x), or something similar. You used to be able to buy log-log graph paper to do this. So I'm told - I'm too young to have used this.
     
  8. Jun 28, 2007 #7

    Gib Z

    User Avatar
    Homework Helper

    I quite like [itex]y = 957.83 x^{-0.9057}[/itex] thank you very much :)
     
  9. Jun 28, 2007 #8

    uart

    User Avatar
    Science Advisor


    Or

    [tex]y = \frac{1000}{0.63 x + 3.65}[/tex]

    It depends on what model you choose to fit.
     
  10. Jun 28, 2007 #9

    Integral

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    If you wanted something of physical interest you would attempt to find a f such that:

    [tex] \frac 1 x + \frac 1 y = \frac 1 f [/tex]

    I would guess this relationship since I know about the thin lens formula. That is the trouble with simply fitting data with no thought of the known physical relationships. You can get perfectly good fits which have no physical meaning.
     
  11. Jun 28, 2007 #10
    Actually we just did them in my physics I highschool course to show Kepler's 3rd using the orbital radius and period of the planets :rofl:

    But yeah the slope of the log-log graph is the power of the function.

    Edit: I got:
    [tex]y=\frac{957.83}{x^{.90499}}[/tex]
     
    Last edited: Jun 28, 2007
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Fitting a curve to data
  1. Curve fitting (Replies: 0)

Loading...