示例#1
0
    def angu_err(self):

        a = self.x_velocity()[0]
        b = self.y_velocity()[0]
        w = self.velocities()[1]
        I = self.I
        m = self.m
        x = self.get_center(1)
        y = self.get_center(2)

        a_err = self.x_velocity()[1]  #np.zeros(self.len)
        b_err = self.y_velocity()[1]  #  np.zeros(self.len)
        w_err = np.array([self.angle_fitter()[1]] * self.len)

        x_err = self.gc_err(1)
        y_err = self.gc_err(2)

        def f(x, y, a, b, w):
            return np.cross(np.array([x, y, 0]), np.array(
                [a, b, 0]))[2] * self.m + I * w

        return np.array(
            fejl.propagation_function_2(
                f, fejl.collector([x, y, a, b, w]),
                fejl.collector([x_err, y_err, a_err, b_err, w_err])))
示例#2
0
    def angle_err(self):

        edge_x = self.get_center(1) - self.get_edge(1)
        edge_y = self.get_center(2) - self.get_edge(2)

        def f(x, y):
            return np.arctan2(y, x)

        return fejl.propagation_function_2(
            f, fejl.collector([edge_x, edge_y]),
            fejl.collector([self.ge_err(1), self.ge_err(2)]))
示例#3
0
    def energy_err(self):
        kin = self.kinetic_energy()
        rot = self.rotational_energy()
        kin_err = self.kin_err()
        rot_err = self.rot_err()

        def f(x, y):
            return x + y

        return fejl.propagation_function_2(f, fejl.collector([kin, rot]),
                                           fejl.collector([kin_err, rot_err]))
示例#4
0
    def vel_err(self):

        x_vel = self.x_velocity()
        y_vel = self.y_velocity()
        x = x_vel[0]
        y = y_vel[0]
        x_err = x_vel[1]
        y_err = y_vel[1]

        def f(x, y):
            return np.sqrt(x**2 + y**2)

        return np.array(
            fejl.propagation_function_2(f, fejl.collector([x, y]),
                                        fejl.collector([x_err, y_err])))