Move speed decrease stoping object problem.

Hello so my problem is that i want to decresse object speed after some circumstances and my script is going crazy and never run is with min speed … here is code from update function,
void Update () {

		Vector3 move = Vector3.zero;
		move += Vector3.forward * Input.GetAxis (vAxis) * airRotationSpeed * Time.deltaTime;
		transform.Rotate (move);

				if (upDownIncLast > transform.position.y) {
			airSpeed = airSpeed + 0.1f;
				}
				if (upDownIncLast < transform.position.y) {
			airSpeed = airSpeed - 0.1f;		
				}

				if (airSpeed < 0){
						airSpeed = 0.1f;
		}
		upDownIncLast = transform.position.y;
		transform.Translate (Vector2.right * airSpeed *Time.deltaTime);
	}

Maybe someone can help solve me this out.

You need to add Time.deltaTime to your speed calculation or the airSpeed value will increase or decrease extremely fast based on your framerate.

Do this:

if (upDownIncLast > transform.position.y) {
    airSpeed = (airSpeed + 0.1f) * Time.detlaTime;
}
else if (upDownIncLast < transform.position.y) {
   airSpeed = (airSpeed - 0.1f) * Time.deltaTime;   
}

Hopefully your values will not be all over the place then.