p = sw_res(source,poldeg)

p = sw_res(source,poldeg,true)


p = sw_res(fid,poldeg) reads tabulated resolution data from the source file which contains the FWHM energy resolution values as a function of energy transfer in two columns. First column is the energy transfer values (positive is energy loss), while the second is the FWHM of the Gaussian resolution at the given energy transfer.

p = sw_res(fid,poldeg,plot) the polynomial fit will be shown in a figure if plot is true.


This example shows how to fit a tabulated resolution data (MERLIN energy resolution for \(E_i=50\) meV and 300 Hz chopper frequency). Using the fitted polynomial, the energy resolution can be calculated at an arbitrary energy transfer value.

resDat = [0 2.31;10 1.80;20 1.37;30 1.02;40 0.78;49 0.67]


resDat =
         0    2.3100
   10.0000    1.8000
   20.0000    1.3700
   30.0000    1.0200
   40.0000    0.7800
   49.0000    0.6700
polyRes = sw_res(resDat,3)
polyRes = sw_res(resDat,3)
EN = 13
dE = polyval(polyRes,EN)


dE =

Input Arguments

String, path to the resolution file or a matrix with two columns, where the first column gives the energy transfer value and second column gives the resolution FWHM.
Degree of the fitted polynomial, default value is 5.
If true the resolution will be plotted, default value is true.

Output Arguments

The coefficients for a polynomial \(p(x)\) of degree \(n\) that is a best fit (in a least-squares sense) for the resolution data. The coefficients in \(p\) are in descending powers, and the length of \(p\) is \(n+1\): \[p(x)=p_1\cdot x^n+p_2\cdot x^{n-1}+...+p_n\cdot x+p_{n+1}\]

See Also

[polyfit] | sw_instrument