fitfun[fun_, tofit_, params_, x_, range_] := Module[{steps = 11}, xvals = Range[range[[1]], range[[2]], (range[[2]] - range[[1]])/steps]; yvals = fun[#] & /@ xvals; sol = FindFit[Thread[{xvals, yvals}], tofit, params, x]; tofit /. sol] fitfun[x, a Sqrt[x], {a}, x, {0, 1}]