Curve Fit XYZ Computer Program

A software program, CurvFitXYZ, has been developed to curve fit data for algorithm definition. The program, designed for the personal computer (Microsoft Windows), determines the equation coefficients for functions y = f (x) and y = f (x,z). A unique curve fit procedure not only considers non-linear variation with x, but also with z, thus providing a more accurate algorithm definition of the data. The curve fit algorithm can be used in the development of software for scientific simulations or engineering control functions. Polynomial, exponential and power form of the equation may be used for the data curve fit. Linear regression is also a curve fit option, which may be used with the method of least squares to predict commodity futures; discussed later in the text. Data plotting is provided by the program PlotXYZ.

The software package includes a number of stand alone programs. CurvFitSine1,2,3&4 is for fitting sinusoidal variations of the form y = a1(sin(x)) and y = a1(sin(x)) + a2. CurvFitXYZeq2 uses the equations y = a1x/(x + a2) and y = (a1x + a2)/(x + a3) as another curve fit option. CurvFitPowerXY provides asymptotic variation of x and y, similar to the double exponential solution, but less complicated. The software, CurvFitSegments and CurvFitSegments2, can be used to fit complex curve variations. Second order or third order equations for each segment are determined to define the curve function. CurvFitSegments3, provides spline fits between linear and parabolic segments, between linear and cubic segments, between adjacent parabolic segments and between adjacent cubic segments.

The link, (Equation Curve Forms 1 & 2), provides y = f(x,z) data plot samples from the software CurvFitXYZeq2. The equation forms could be used in the field of biochemistry, microbial physiology, economics, electrical engineering and aerodynamics.

The link, (Equation Power Form XY), provides y = f(x) data plot samples from the software CurvFitPowerXY. The equation form could be used in the field of electrical engineering. In the field of finance the equation form can be used for developing yield curves.

The link, (Curve Fit Segments), provides y = f(x) data plot samples from the software CurvFitSegments.

If you are interested in y = f(x) and y = f(x,z) spline curve fits, check "Other Software (Spline Curve Fit 2D & 3D Computer Programs)" in the following "Hot Links". The y = f(x) spline curve fits allow the user to select the order of the spline equation, either 4th order (cubic), 5th order or 6th order.

Hot Links

  • Program Sample of Input & Output
  • Curve Fit Algorithm Examples
  • Ordering Information
  • Other Software (Spline Curve Fit 2D & 3D Computer Programs)

  • Data Analysis Consulting and Programming are Available

    An equation form can be developed that best fits any given data set. If programming is required, an executable program along with the C++ source code is provided. The source code allows the user to easily install curve fit functions into other software. For those interested in data analysis consulting, see the following link.

  • Consulting Services for Data Analysis

  • CurvFitXY and Statistical Analysis Computer Programs

    Many curve fit problems are of the single curve polynomial variety, y = f(x). The program CurvFitXY has been developed for this purpose. The program source code logic may be used in the development of C code to port to an embedded microprocessor. As an example, a curve fit analysis of data may be required to determine the optimum operating condition for a process.

    Determinants as high as a 9th order may be solved to obtain the coefficients of the curve fit equation. The program has an option to use the least squares method for best fitting numerous data points. The program also determines the slope of the curve at any value of x.

    A new program Statistical Analysis has been developed to to calculate the mean, variance and standard deviation for statistical problems. From these parameters, the program determines the probability density function and cumulative distribution function plots.

  • Other Software (CurvFitXY and Statistical Analysis Computer Programs)


  • CurvFitXYZ Applications

    Curve fit program, CurvFitXYZ, is an excellent tool for many business and scientific applications. Several examples of business applications are total revenue and total cost curves to maximize profit, total product curve for determining diminishing returns. Possible aerospace science applications are algorithm development to define aircraft performance parameters such as climb and descent (time, fuel and distance), cruise (fuel flow) and maximum endurance (speed). Similarly, helicopter cruise performance parameters (cruise torque and fuel flow) may be derived. The following link provides other aircraft performance examples. Curve Fit Aircraft Performance Flight Parameters

    For polynomial y = f (x) function, determinants as high as order 9 (9 equations with 9 unknowns) may be solved to obtain the coefficients of the equation. For polynomial y = f (x,z) function, determinants as high as order 5 may be solved.

    For exponential form of the equations y = abx and y = aekx, and power form of the equation y = axb, a family of as many as five curves with variation in z, may be curve fit. The coefficients from the curve fit are used to define a single equation for the complete family of curves.

    Data may be input using a least squares curve fit (maximum 500 points) or with input of specific points equal to the defined order of the algorithm equation. The least squares procedure includes an output of goodness of fit parameters, as an example variance.

    The form of the equation for y = f (x) of order 4 (cubic equation) is shown below. A maximum order of 9 may be selected to fit data.

    y = a1 + a2x + a3x2 + a4x3

    The form of the equation for y = f (x,z) of order 4 in x and z is:

    y = (a01 + a02z + a03z2 + a04z3) + (a11 + a12z + a13z2 + a14z3)x +
    (a21 + a22z + a23z2 + a24z3)x2 + (a31 + a32z + a33z2 + a34z3)x3

    A curve fit of 4 data points, family of four curves, is shown in following plot. The resultant curve fit is defined by the above 4th order equation, with data points equal to the defined order of fit equation. A maximum family of five curves may be curve fit using a 5th order equation.

    An example of a least squares curve fit is also shown. Each curve in the family is defined by a 5th order equation. Variation with z is defined using a 4th order.

    The program provides an output file of equation coefficients for easy incorporation into other programs utilizing curve fit algorithms. An example would be a curve fit equation of data for a physical process for a microchip algorithm. The listing order of the coefficients output file for y = f (x,z) cubic equation in x and z is as follows:

    a01,a02,a03,a04,a11,a12,a13, a14,
    a21,a22,a23,a24,a31,a32, a33,a34

    Calculated points from the program are output to a file, which may be used in a spreadsheet program with plotting capability. A more direct plotting feature (PlotXYZ) is now provided, which gives the user a graphic view of data with curve fit and includes a print option.

    An example of a practical application is shown for the field of biochemistry. The 5th order curve fit provides the equation for the effects of regulators on reaction rate and fractional activity of an enzyme with multiple active sites.

    Hydroelectric power optimization is another process where the advantage of a curve fit may be utilized. As shown in the following plot, an excellent 5th order fit is obtained of data for water flow as a function of % gate position and feet head to the turbine.

    Another application would be business program cost analysis. Accountant cost spreads for management may be defined using the bell shaped curve fit, shown in the below plot. Total program cost is spread over the length of the program. The sixth order curve fit requires only the six selected data points to accurately define the curve. Area under the curve represents the total program cost.

    The second order least squares curve fit procedure from CurvFitXYZ software may be used to predict near term commodity futures. The form of the linear regression equation (second order) is y = a0 + a1x. An example is shown in the following plot, which was used by a family farm to predict soybean futures.



    The developer of the software received a BS degree in Aeronautical Engineering from the University of Notre Dame. Experience in data analysis was acquired during 38 years in the aerospace industry.


    Web Page last modified (4/22/2009).

    If you have comments send E-mail to: wlmeyerjr@hotmail.com

    The program CurvFitXYZ and this page are Copyright (C) 1999 by William L. Meyer Jr.,
    3581 E. Elma St., Camarillo, CA, USA.


    LINK TO OTHER DATA ANALYSIS SOFTWARE
    Analyse-it! statistical analysis software for Microsoft Excel

    Accurate - low cost - statistical software integrated into
    Microsoft Excel. Includes multiple linear regression
    analysis, anova, chi-square and many more procedures.

    Grab-it! graph digitizing software for Microsoft Excel

    Fast and accurate digitizing software that replaces
    traditional hardware digitizing tablets. Includes log
    and linear support, and many more specialized features.
    1