To improve equalization performance of the constant modulus algorithm (CMA), we study that error functions have an influence on the performance of the algorithm in this paper. Aiming at the character of different error functions, a new style of error function weighted by a variable coefficient is proposed. And a new CMA based on the new error function (VCMA) is proposed too. Because of variable-coefficient adjustability, the value of this new error function can become larger at the beginning of iteration and smaller at the end of iteration in the new algorithm. From gradient descent method, VCMA can have faster convergence rate and lower residual error than the CMA. Both theoretical analysis and experimental results have shown the effectiveness of the proposed algorithm.