Is it showing any codes? If it runs cold and not warmed up, that most likely means a sensor has gone bad. When cold, the ECU controls the engine by using a fixed set of curves, (open loop). When the engine reaches operating temperature, the ECU monitors the inputs from the sensors, and adjust the fuel and timing accordingly, (closed loop). If one of the sensors has gone bad...well you know the saying, "garbage in, garbage out".