def step_discrete(self, tau=1.0, error_coupling=1.0):
        """Generate a single step of x for discrete
        (potentially closed) loop movements. 
        Decaying from 1 to 0 according to dx = -ax*x.
        
        tau float: gain on execution time
                   increase tau to make the system execute faster
        error_coupling float: slow down if the error is > 1
        """
        self.x += (-self.ax * self.x * error_coupling) * tau * self.dt
        return self.x
Generate a single step of x for discrete
        (potentially closed) loop movements. 
        Decaying from 1 to 0 according to dx = -ax*x.
        
        tau float: gain on execution time
                   increase tau to make the system execute faster
        error_coupling float: slow down if the error is > 1