Exemplo n.º 1
0
 def test_data_compiler(self):
     voltages = [1.0, 2.0, 3.0, 3.0, 3.0, 4.0]
     currents = [18.0, 19.0, 20.0, 21.0, 22.0, 23.0]
     compiled_data = compile_data(voltages, currents)
     s1, ss1, c1 = compiled_data[1.0]
     s2, ss2, c2 = compiled_data[2.0]
     s3, ss3, c3 = compiled_data[3.0]
     s4, ss4, c4 = compiled_data[4.0]
     self.assertEqual(s1, 18.0)
     self.assertEqual(ss1, 324.0)
     self.assertEqual(c1, 1)
     self.assertEqual(s2, 19.0)
     self.assertEqual(ss2, 361.0)
     self.assertEqual(c2, 1)
     self.assertEqual(s3, 63.0)
     self.assertEqual(ss3, 1325.0)
     self.assertEqual(c3, 3)
     self.assertEqual(s4, 23.0)
     self.assertEqual(ss4, 529.0)
     self.assertEqual(c4, 1)
Exemplo n.º 2
0
    return new_guess_vector


def compute_convergence_distance(new_guess_vector, old_guess_vector):
    delta_vector = GuessVector(eta=new_guess_vector.eta - old_guess_vector.eta,
                               V0=new_guess_vector.V0 - old_guess_vector.V0)

    convergence_distance = math.sqrt(delta_vector.eta * delta_vector.eta + delta_vector.V0 * delta_vector.V0)
    return convergence_distance


def fit_data(compiled_data_dict):

    epsilon = 0.0001
    old_guess_vector = GuessVector(1.0, 0.0)

    # Make the initial guess
    new_guess_vector = new_guess(old_guess_vector, compiled_data_dict)
    while compute_convergence_distance(new_guess_vector, old_guess_vector) > epsilon:
        # guess again
        old_guess_vector = new_guess_vector
        new_guess_vector = new_guess(old_guess_vector, compiled_data_dict)

    print ("Result for eta = " + str(new_guess_vector.eta) + " and V0 = " + str(new_guess_vector.V0))


if __name__ == "__main__":
    stopping_voltages, photocurrents = get_data()
    compiled_data_from_files = compile_data(stopping_voltages, photocurrents)
    fit_data(compiled_data_from_files)
Exemplo n.º 3
0
from data_loader import get_data

from data_compiler import compile_data


def fit_data(compiled_data_dict):
    print "Fitting " + str(compiled_data_dict)


if __name__ == "__main__":
    stopping_voltages, photocurrents = get_data()
    compiled_data = compile_data(stopping_voltages, photocurrents)
    fit_data(compiled_data)