The values "totalBed" and "totalHotEnd" are incremented with the last reading for each loop. You cannot calculate an average of the last "numReadings" readings like you do, so that is one problem
this code is way past my level but im trying so bare with me...
thats for the running average tho is it not? ie: const int numReadings = 15;
so the way i read it is to collect the temp 15 times and then divide for an average
i noticed original code is using a digital pin on the mq2 so I have commented that out to see if it made a difference as well as changing max temp limits to 1000
right .... anyways math seems to be correct after I got home from work I set my heat bed at different temps and took some resistance readings to check how far off my coefficients for the NTC were. after I did this temps were still stabilizing around ~133 and then while looking at the resting temp of my hotend before preheating to 200 I realized room temp was 13.7 according to the machine read out and then it hit me measured my resistors and sure enough 470kohm they were mislabeled of the paper that holds them neat.
set proper resistor value in the sketch viola temp readings correct.
I think the temps climb at the beginning due too it completing the loop before it has all 15 readings!