Use order 1 regression to prevent overfitting

This commit is contained in:
Anthony Wang 2022-02-11 20:21:05 -06:00
parent e504cfa397
commit 9c39dce057
Signed by: a
GPG key ID: BC96B00AEC5F2D76

View file

@ -28,10 +28,9 @@ int d2a(double d) { return d * analog_max / V_in; }
// Voltage to resistance conversion
double v2r(double V_out) { return R_k * (V_in / V_out - 1); }
double vol[100];
int con[100];
double vol[100], con[100];
const int order = 2;
const int order = 1;
double coeff[order + 1];
void setup() {
@ -53,13 +52,14 @@ void setup() {
++n;
}
fitCurve(order, n, vol, con, coeff);
fitCurve(order, n, vol, con, order + 1, coeff);
for (int i = 0; i <= order; ++i) Serial.println(coeff[i]);
}
void loop() {
double v = a2d(analogRead(THERM));
double c = 0;
for (int i = order; i >= 0; --i) c = v*c + coeff[i];
for (int i = 0; i <= order; --i) c = v*c + coeff[i];
Serial.print("Voltage: ");
Serial.println(v);