#!/bin/bash set -e set -o pipefail mkdir -p fits s="$1" if [ ! -z "$s" ] then t="${s##*/}" yrange=`./getfitrange "${s}"` set -- ${yrange} #echo "${s}" CH2="${s/CH1/CH2}" CH2max="fits/${t%CH1.CSV}"CH2.max xorigin="`head -1 ${CH2} | cut -d, -f4`" gnuplot < fits/"${t%.CSV}.result" 2>&1 set datafile separator "," set yrange [0.001:0.7] x0 = $3 a = $2 b = $1 g = 0.001 f(x) = g >= 0 ? (a + b*(1 - (1/pi)*(g/2)/((x - x0)**2 + (g/2)**2))) : 0 fit f(x) "${s}" using (\$4-$xorigin):5 via a,b,g,x0 set terminal png set output "fits/${t%CH1.CSV}.png" plot "${s}" using (\$4-$xorigin):5 title "WGM", f(x), "${CH2}" using (\$4-$xorigin):5 title "Fabry-PĂ©rot" EOF #, "${CH2max}" using 1:2 cat fits/"${t%.CSV}.result" | grep ^g |grep '+/-' |sed -e 's;%;\\%;g' -e 's;+/-;\\pm;g' -e 's;e-0\([0-9]*\);\\cdot 10^{-\1};g' -e 's;^g[ ]*=[ ]*\([-]*\)0.00\([0-9][0-9][0-9]\)\([0-9]*\);g = \1\2.\3 \\cdot 10^{-5};g' -e 's;g = \([-]*\)0\([0-9]\);g = \1\2;g' -e 's;^\(.*\)$;$\1$;' -e 's;(;, \\frac{\\Delta g}{g} = (;' #> fits/"${t%.CSV}.g" cat fits/"${t%.CSV}.result" | ./fitfabry |sed -e 's;e+0\([0-9]*\);\\cdot 10^{\1};g' fi