# curveFitTest.frink

``` use curveFit.frink /** This performs tests on the file curveFit.frink which tries to fit data     to linear and quadratic curves. */      // Linear data data = [ [0, 1], [1, 3], [2, 5] ] printFit[data] // Test to verify that units of measure can be fitted correctly. // THIS EXAMPLE IS ACTUALLY AMAZING! // It derives the gravitic equation given just 3 points on a curve of // time and height (and none of those points are forced to be zero, nor are // the initial height, nor the initial velocity.)  It derives the initial // velocity at t=0,  the acceleration of gravity, and the initial height at t=0 // given 3 points on the trajectory of an object. // This is incredibly impressive. // To generate points, see the Frink solver at: //   tinyurl.com/2p8pntcd // This represents the [time, height] data of a projectile being launched from // an initial height of 2 meters at t=0 s and an initial upward velocity of // 40 m/s at t = 0 s: data = [ [1 s, 32.19335 m], [2 s, 42.7734 m], [4.1 s, 1.1502135 m] ] printFit[data] // This demonstrates a purely symbolic result! symbolicMode[true] data = [ [x1, y1], [x2, y2], [x3, y3] ] printFit[data] printFit[data] := {    println["\n\nFor data: "]    println[formatTableBoxed[data]]    println["linear: " + inputForm[linearFit[data]]]    f = linearFitFunction[data]    println["\nlinear function: " + inputForm[f]]    println["\nquadratic: " + inputForm[quadraticFit[data]]]    f = quadraticFitFunction[data]    println["\nquadratic function: " + inputForm[f]] }```