Finite differencing is a very commonly method used in numerical algorithms to compute derivatives, which is well known for its accurate precision. Besides, the best advantage of this method resides in the fact that it is extremely easy to implement. But the finite differencing may be in a dilemma. The reason is that if the step size is large, the precision is not satisfying, but if the step size is small, the error is increased due to subtractive cancellation. In this manuscript, a new method for differential, complex-step differentiation (CSD) is proposed, which uses complex computations to compute derivatives. We first give a detailed account of the principles of the complex-step differentiation. Then analyze the CSD method from two sides, error and efficiency. At last, the implementation of CSD in MATLAB is presented. Simulating results indicate that they are fitting well with the theoretical analysis.