Asteroids style acceleration?

Hello. I am making a game like Asteroids, but I cannot seem to get the movement down. How can I get the object to accelerate/decelerate in a somewhat realistic way? I have tried scripts that I have found on Unity Answers like this one, but when I add a box or sphere collider to the object(so that the player wont fall through the level) the movement goes kinda crazy. Thanks

var rotateSpeed = 360.0;
var thrustSpeed = 25.0;

function FixedUpdate() { 
   transform.Rotate (Vector3.up * (Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime) ); 

   if (Input.GetButton("Thrust") ) { 
      rigidbody.AddRelativeForce (Vector3.forward * thrustSpeed * Time.deltaTime); 
   }
}

Your script should work fine, anyway I wrote that snippet

public float accelerationForce = 10f;
public float rotationForce = 3f;
void Update () 
{
    float rotation = Input.GetAxis("Horizontal");
    float acceleration = Input.GetAxis("Vertical");

    rigidbody.AddTorque(0, rotation * rotationForce, 0);
    rigidbody.AddForce(transform.forward * acceleration * accelerationForce);
}

Dont forget to uncheck ‘Use Gravity’ on the Rigidbody. There is no floor or collider needed for the controlls.