Could be a bad battery/alternator. I replaced my IAT ($8), not to be confused with IAC, as suggested by a member. Its the Air Intake Temperature sensor. I was having the same problems. Once replaced, they went away. Its located on the intake tube. Easy to do.
For $8 you could try it. I'm not a fan of throwing parts at a car but sometimes its easier then having everything tested 1 times over!