Camera Taking time to look at

I am creating a ball game; and I am using third person camera;
I wrote following script to create third person orbit but as I tried it; camera get shaky. I notice that look at function don’t update when we are in fast motion and update suddenly creating the shaky nature; can any one help me with this.

using UnityEngine;
using System.Collections;

public class Camera : MonoBehaviour {
	public Transform target;
	public float senstivity;
	public float r;
	public float Vmax;
	public float Vmin;
	public Vector3 offset;
	Vector3 ini;
	Vector3 position = Vector3.zero;

	// Use this for initialization
	void Start () {
		senstivity = 0.1f;
		r = 5;
		Vmax = 75;
		Vmin = 0;
		transform.LookAt (target.position);
	}

	// Update is called once per frame
	void Update () {
		transform.LookAt (target.position);
		ini = new Vector3 (Input.GetAxis("Mouse X"), (-1) * Input.GetAxis("Mouse Y"),0);
		position = position + ini * senstivity;
		if (position.y >= Vmax*Mathf.Deg2Rad) {
			position.y = Vmax*Mathf.Deg2Rad;
				}
		if (position.y <= Vmin) {
			position.y = Vmin;
		}

		offset.y = r * Mathf.Sin (position.y);
		float rx = r * Mathf.Cos (position.y);
		offset.x = rx * Mathf.Sin (position.x);
		offset.z = rx * Mathf.Cos (position.x);
		transform.position = (target.transform.position + offset);
	}

}

Is the object the camera is tracking moved with physics ?
If so the tracked gameobject moves at FixedUpdate but the camera moves at Update, which will result in non-synced movement.

You should try moving the camera in FixedUpdate instead.