Here is the procedure for finding self-consistent 'best fit' values for \(V_0\)\(V_1\), and \(\theta_0\) from the curve-fitting routine
  1. Make a rough initial guess for the parameters \(V_0\)\(V_1\), and \(\theta_0\) from a graph of the data.
  2. Use the values of  \(V_0\)\(V_1\), and \(\theta_0\) output by the curve-fitting routine as a new 'initial guess'
  3. Repeat the curve fit  (using each output as a new input) until \(V_0\) stops changing. 

curve fit code

We now turn to the actual Python code for the curve fit.
Here we assume the following values have been determined for uncertainties in  \(V_0\)\(V_1\), and \(\theta\):