コード例 #1
0
ファイル: test_functions.py プロジェクト: QuTech-Delft/qtt
 def test_estimate_parameters_damped_sine_wave_angle(self):
     omega = 1e6
     x_data = 1e-6 * np.linspace(0.2, 6.5, 190)
     y_data = np.sin(2 * np.pi * omega * x_data)
     parameter_estimate = estimate_parameters_damped_sine_wave(x_data, y_data)
     self.assertAlmostEqual(parameter_estimate[0], 1, places=1)
     self.assertAlmostEqual(parameter_estimate[3], 0, places=0)
コード例 #2
0
    def test_estimate_parameters_damped_sine_wave_degenerate(self):
        x_data = np.array([0., 1., 2.])
        y_data = np.array([0, 0, 0])

        estimated_parameters = estimate_parameters_damped_sine_wave(
            x_data, y_data)
        self.assertEqual(estimated_parameters[0], 0.)
コード例 #3
0
ファイル: test_functions.py プロジェクト: QuTech-Delft/qtt
    def test_estimate_parameters_damped_sine_wave_exact(self):
        x_data = np.arange(0, 20., .12)
        exact_frequency = .4
        exact_offset = 2.2
        y_data = np.sin(2 * np.pi * exact_frequency * x_data) + exact_offset

        estimated_parameters = estimate_parameters_damped_sine_wave(x_data, y_data)
        self.assertAlmostEqual(estimated_parameters[0], 1., places=1)
        self.assertAlmostEqual(estimated_parameters[2], exact_frequency, places=1)
        self.assertAlmostEqual(estimated_parameters[-1], exact_offset, places=1)
コード例 #4
0
ファイル: test_functions.py プロジェクト: QuTech-Delft/qtt
    def test_estimate_parameters_damped_sine_wave(self):
        y_data = np.array([0.25285714, 0.31714286, 0.48857143, 0.66285714, 0.77857143,
                           0.72857143, 0.58714286, 0.42571429, 0.28142857, 0.29571429,
                           0.39428571, 0.47285714, 0.56857143, 0.70428571, 0.76857143,
                           0.73571429, 0.62714286, 0.49714286, 0.42857143, 0.30714286,
                           0.31, 0.31714286, 0.37285714])

        x_data = np.array([0.00000000e+00, 6.81818182e-09, 1.36363636e-08, 2.04545455e-08,
                           2.72727273e-08, 3.40909091e-08, 4.09090909e-08, 4.77272727e-08,
                           5.45454545e-08, 6.13636364e-08, 6.81818182e-08, 7.50000000e-08,
                           8.18181818e-08, 8.86363636e-08, 9.54545455e-08, 1.02272727e-07,
                           1.09090909e-07, 1.15909091e-07, 1.22727273e-07, 1.29545455e-07,
                           1.36363636e-07, 1.43181818e-07, 1.50000000e-07])

        estimated_parameters = estimate_parameters_damped_sine_wave(x_data, y_data)
        self.assertFalse(np.any(np.isnan(estimated_parameters)))
        self.assertAlmostEqual(estimated_parameters[0], 0.263, places=1)