gnuplotcorrelationdata-fittingcovariance-matrix

Using the correlation matrix after a fit in Gnuplot


Say I need to fit some data to a parabola, and then perform some calculations involving the correlation matrix elements of the fit parameters: is there a way to use these parameters directly in gnuplot after the fit converges? Are they stored in some variable like the error estimates?.

I quote the explicit problem I'm having. All of this is written to a plot.gp text file and ran with gnuplot plot.gp.

I include set fit errorbariables at the beginning, and then proceed with:

f(x)=a+b*x+c*x*x
fit f(x) 'file.dat' u 1:2:3 yerrors via a,b,c

Once the fit is done, I can use the values of a,b,c and their errors a_err, b_err and c_err directly in the plot.gp script; my question is: can I do the same with the correlation matrix of the parameters?

The problem is that the matrix is printed to terminal once the script finishes to run:

correlation matrix of the fit parameters:
                a      b      e      
a               1.000 
b               0.910  1.000 
c              -0.956 -0.987  1.000 

Are the entries of the matrix stores in some variable (like a_err, b_err) that I can access after the fit is done but before the script ends?


Solution

  • I think the command you are looking for is

    set fit covariancevariables
    
     If the `covariancevariables` option is turned on, the covariances between
     final parameters will be saved to user-defined variables. The variable name
     for a certain parameter combination is formed by prepending "FIT_COV_" to
     the name of the first parameter and combining the two parameter names by
     "_". For example given the parameters "a" and "b" the covariance variable is
     named "FIT_COV_a_b".