Example script thermistor.py: Identifying coefficients for the resistance versus temperature model of six thermistors.
This example reads an eight-item-per-line CSV file. Each line contains: (1) the time in seconds from some arbitrary starting time, (2) the temperature in degrees C, as read by a trusted temperature sensor, and (3-8) the resistances of six thermistors, measured at the known temperature.
Then it uses asynchronous differential evolution to efficiently find a
nonlinear best-fit curve, with digital filtering to match thermal time
constants using the model implemented by Evaluator.curve
.
Class | TemperatureData | Run setup
on my instance to decompress and load the tempdump.csv.bz2 CSV file. |
Class | Reporter | An instance of me is called each time a combination of parameters is found that's better than any of the others thus far. |
Class | Evaluator | I evaluate thermistor curve fitness. |
Class | Runner | I run everything to fit a curve to thermistor data using asynchronous differential evolution. |
Function | main | Called when this module is run as a script. |