Accurate estimation for the state of charge (SOC) is one of the most important aspects of a battery management system (BMS) in electric vehicles (EVs) as it provides drivers with the EVs' remaining range. However, it is difficult to get an accurate SOC, because its value cannot be directly measured and is affected by various factors, such as the operating temperature, current rate and cycle number. In this paper, a modified equivalent circuit model is presented to include the impact of different current rates and SOCs on the battery internal resistance, and the impact of different temperatures and current rates on the battery capacity. Besides, a linear–averaging method is presented to calculate the internal resistance and practical capacity correction factors according to data collected from the experimental bench and saved as look-up tables. The unscented Kalman filter (UKF) algorithm is then introduced to estimate the SOC according to the presented model. Experiments based on actual urban driving cycles are carried out to evaluate the performance of the presented method by comparing with two existed methods. Experimental results show that the proposed method can reduce the computation cost and improve the SOC estimation accuracy simultaneously.