1. A machine implemented method for estimating the state of charge of a battery, the machine implemented method comprising: providing a measured cell terminal voltage and an estimated cell terminal voltage to a model coefficient updater; updating a model coefficient by utilizing the measured cell terminal voltage and estimated cell terminal voltage; providing battery current and measured cell terminal voltage to a battery state of charge estimator; providing the updated model coefficient to the battery state of charge estimator, and determining an estimated state of charge of the battery and an estimated cell terminal voltage by utilizing the updated model coefficient, the battery current information, and the measured cell terminal voltage, wherein the method is implemented on a processing device, and the battery comprises at least one positive electrode and one negative electrode.