Labgraph

Labgraph is a simple MATLAB fitting program geared towards students. From the file description:


  LABGRAPH
        LABGRAPH is a plotting program with a GUI interface
        intended for 2-D scatter plots (with error bars in "x"
        and "y"), and simple polynomial fits (up to third degree)
        using least-squares. Although uncertainties in both
        dependent (dy) and independent (dx) variables are
        plotted, LABGRAPH's analysis is only appropriate if
        dx << dy.

  Call:         labgraph
  Requires:     labgraph_help.html, labgraph_pix.png, web browser (for help)
  Author:       Marco De la Cruz-Heredia (marco@math.utoronto.ca)
  Version:      2.0
  Website:      http://www.reimeika.ca/marco/matlab/labgraph/labgraph.html
  Developed on: MATLAB 5.3 for GNU/Linux
  Tested on:    MATLAB 5.3.0.10183 (R11) on LNX86
  Date:         23/January/2000
  License:      Freeware - distribute and modify to your heart's
                content. Feedback greatly appreciated.

That's pretty much it! The help page is below (also included with the program), and you can download the software by clicking on [download labgraph-2.zip (27134 b)]. It requires MATLAB 5.X (developed and tested under MATLAB 5.3).

Labgraph Help

Labgraph image
  1. Clicking on the [Data] button brings up a pop-up menu with the options to [Save] your current data, [Load] a previously saved data set, or [Clear] the fields.

  2. At least two data sets must be entered, corresponding to the measured quantities. Each must be identified by typing the name of the variable in the field at the top of each column.

  3. You can enter the data in these fields. Copying and pasting is possible with the mouse.

  4. The "x" and "y" are the dependent and independent variables which will be plotted. These can be any function of the data variables, i.e. if you entered four data sets labeled "A", "dA", "w" and "t0" the following are all valid:

                    x = A
                    y = w + 0.5
    
                    x = A^2 + 1/t
                    y = (A-w) + sqrt(t0)
    
                    x = (A/t0)^2 - 2*dA
                    y = t0*exp(A) - log(t0)
    
    

    Optionally, uncertainties may also be specified in the "dx" and "dy" fields (and can be any function of the data variables). Note that "dx" should be much smaller than "dy" for the fit to be sensible.

  5. You can fit any third-degree polynomial to the "x" vs. "y" plot by choosing the appropriate coefficients. In general the polynomial has the form:

                    y = a0 + a1*x + a2*x^2 + a3*x^3
    
    

    The best fit line will be plotted if you only select the first two coefficients, i.e.

                    y = a0 + a1*x + 0*x^2 + 0*x^3
    
    

    will fit the line "y = m*x + b" where "b = a0" and "m = a1".

  6. You can write the units for "x" and "y" here (optional).

  7. Select whether you want to see the data [Points], the [Fit], or the [Residuals]. Note that in the latter case the points are numbered to facilitate their location in the data columns. You can also configure the [Axes...] limits and select whether you'd like to overlay a [Grid].

  8. Choose the operation you wish to perform: [Plot it!] to see the graph, [Clear fig.] to clear the figure, and [Print] to print it. The results from the fit will be shown in the title of the figure. If printed a PostScript file called "labgraph.ps" will be created (search for PCONF in the labgraph source)

  9. Optionally you can write an explanatory "Note" to save with the data.

  10. [Help] shows this document while [Quit], as expected, quits labgraph.

List of common functions:

        Sum                     a+b
        Subtraction             a-b
        Multiplication          a*b
        Division                a/b
        Power                   a^b
        Square root             sqrt(a)
        Natural logarithm       log(a)
        Base 10 log             log10(a)
        Exponential             exp(a)
        Sine                    sin(a)
        Cosine                  cos(a)
        Tangent                 tan(a)
        Inverse sine            asin(a)
        Inverse cosine          acos(a)
        Absolute value          abs(a)
        Hyperbolic sine         sinh(a)

(all angles in radians)

Return to the [index]