I'm afraid this problem will more challenge your computer skills than your skills as a quantum mechanic. Aim: fit and plot (cross-section vs. k) and (phase shift vs k) data to the Breit-Wigner formalism The data consists of the actual U=30 resonance near k=1.47 due to delta3 Theoretical delta function (but see below!) delta=ArcCot[(k2-x)/k1] Theoretical sigma function sigma=k4+k3/((k2-x)^2+k1^2) where k2 is the resonance location, k1 (called Gamma/2 in class) determines the resonance width, k3 determines the peak value (relates to (2L+1)4 pi/k^2), and k4 represents the contributions of the other partial waves. ArcCot proves to be a problem (getting the right branch of the inverse function) and so it is never used in the above form. OPTION 1: go with Mathematica... Your final work product will be a pair of graphs like math/class34.pdf along with the numerical values for the fit parameters. here is the data in Mathematica form: delta3={{1.35, 0.10253225166633644}, {1.36, 0.11709300222014721}, {1.37, 0.13481163723025624}, {1.38, 0.15675052971036327}, {1.39, 0.1844940466509399}, {1.4, 0.22050258303555526}, {1.41, 0.2687842111588437}, {1.42, 0.33624341021558796}, {1.43, 0.43552883091509803}, {1.435, 0.5040119992500022}, {1.44, 0.591054908802321}, {1.445, 0.7032460906999967}, {1.45, 0.8487508759425039}, {1.455, 1.0352224064040147}, {1.46, 1.2635918830960984}, {1.465, 1.51908729200725}, {1.47, 1.7714867497887987}, {1.475, 1.9925440520752802}, {1.48, 2.170922453572415}, {1.485, 2.309504357961785}, {1.49, 2.4163610927135655}, {1.495, 2.499435016117197}, {1.5, 2.564972933856243}, {1.51, 2.660353196501439}, {1.52, 2.725431984358919}, {1.53, 2.772129836056384}, {1.54, 2.8069915029358095}, {1.55, 2.8338374048766117}, {1.56, 2.8550240964046907}, {1.57, 2.872075304583604}, {1.58, 2.8860162908695046}, {1.59, 2.8975605934387727}, {1.6, 2.9072193058892193}} sigma={{1.35, 7.953352539070761}, {1.36, 8.011110144071242}, {1.37, 8.123599378929775}, {1.38, 8.318265721886887}, {1.39, 8.641082527811756}, {1.4, 9.172865114412495}, {1.41, 10.063822134893922}, {1.42, 11.61098148375059}, {1.43, 14.437523755134773}, {1.435, 16.703859641140856}, {1.44, 19.873065947101296}, {1.445, 24.279566376253623}, {1.45, 30.18370512939687}, {1.455, 37.31111770058124}, {1.46, 44.0357423015019}, {1.465, 47.379474842854876}, {1.47, 45.55400694837987}, {1.475, 40.08212914440045}, {1.48, 33.737756976127976}, {1.485, 28.15281634419416}, {1.49, 23.743066839836807}, {1.495, 20.390132303197195}, {1.5, 17.854923201141542}, {1.51, 14.425066746928962}, {1.52, 12.306721871785923}, {1.53, 10.911339688517446}, {1.54, 9.93813777384912}, {1.55, 9.225736536071333}, {1.56, 8.682605768624551}, {1.57, 8.254086553550458}, {1.58, 7.906025206807025}, {1.59, 7.6162264114979985}, {1.6, 7.3697681574628175}} Instead of ArcCot use: ArcTan[(k2-x),k1] ArcTan[a,b] is a 4-quadrant, two-argument version of inverse tangent Note: FindFit can fit, ListPlot can plot the data, and you can combine separate function and data plots with Show. OPTION 2: go with linux fit/plot Your final work product will be a pair of graphs like class34_delta.pdf class34_sigma.pdf along with the numerical values for the fit parameters. fit/plot want data with errors; find this data (with errors): delta3.dat sigma.dat Instead of ArcCot we must use atan, but kick it into the proper quadrant, Do: set f(x)=atan(k1/(k2-x))+pi*w(x-k2) B=10 your fit session will look something like: bethe 104% fit * set file=delta3.dat * read k delta3 error READ Done. * set f(x)=atan(k1/(k2-x))+pi*w(x-k2), B=10 * set k1 yourguess k2 yourguess * fit Enter list of Ks to vary, e.g. K1-K3,K5 k1,k2 FIT finished with change in Ks implying 3 significant figures 4 iterations used REDUCED chi-squared= 1.379910 chi-squared= 42.77719