Terribly jerky movement while using Accelerometer.

Why am I getting a very jerky motion when I use the Accelerometer ?

public class PlayerMoveCtrl : MonoBehaviour {

	private Animator anim;

		public float speed = 10.0F;
		public float minPos = 15f;
		public float maxPos = -12f;
		//private Vector3 dir;
		//private bool isRunning = false;
		float lastInputX; 
		float lastInputY;
		float inputX; 
		float inputY;

		void Start(){
		anim = GetComponent<Animator> ();
	}
	void Update(){

		float inputX = Input.acceleration.x;
		float inputY = Input.acceleration.y;

		anim.SetFloat ("SpeedX", inputX);
		anim.SetFloat ("SpeedY", inputY);

		//	if (dir.sqrMagnitude > 1)
		//		dir.Normalize();
		//	dir *= Time.deltaTime;

		transform.position = new Vector3(Input.acceleration.x * speed, Input.acceleration.y * speed, 0);
	}

		void FixedUpdate() {
			//dir = Vector3.zero;
			float lastInputX = Input.acceleration.x;
			float lastInputY = Input.acceleration.y;
			//dir.z = 0;

		if (lastInputX != 0 || lastInputY != 0) {
			anim.SetBool ("Walking", true);
					
				} else {
			anim.SetBool("Walking", false);
				}
	}
}

Perhaps use Vector3.Lerp to blend you current position towards your target position each frame, instead of just setting the transform position. It sounds like a similar issue to moving objects over a network where small variations on latency have a significant effect, and need to be smoothed out.

transform.position = Vector3.Lerp(transform.position, new Vector3(Input.acceleration.x * speed, Input.acceleration.y * speed, 0), 0.5f);

Worth a try, though I haven’t used accelerometers myself.