update l004pt algorithm
authorTrillGates <williamtrillgates@gmail.com>
Fri, 28 May 2021 09:32:43 +0000 (17:32 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Fri, 28 May 2021 09:32:43 +0000 (17:32 +0800)
app/src/main/java/com/ic/work/utils/AlgorithmUtils.java

index 9c31229..8a51493 100644 (file)
@@ -8,30 +8,30 @@ public class AlgorithmUtils {
 
     public static double l004Pt(double bodyTemp, double innerTemp) {
         //判断范围
-        if (innerTemp < 36.18f) {
-            return bodyTemp;
-        }
         double dx = 0f;
-        //36.18~38.64:result = 0.0472*sourceTemp-0.1094
-        if (innerTemp >= 36.18f && innerTemp < 38.64f) {
-            //dx = (0.0472f * innerTemp - 0.1094f);
-            dx = (0.02587991718f * innerTemp);
+        if (innerTemp < 39.21f) {
+            dx = innerTemp * 0.909f - 32.844;
         } else
-            //38.64~43.46:result = 0.0178*result+1.3565
-            if (innerTemp >= 38.64f && innerTemp < 43.46f) {
-                //dx = (0.0178f * innerTemp + 1.3565f);
-                dx = (0.083605614358f * innerTemp + 1.3565f);
+            //36.18~38.64:result = 0.0472*sourceTemp-0.1094
+            if (innerTemp >= 39.21f && innerTemp < 43.12f) {
+                //dx = (0.0472f * innerTemp - 0.1094f);
+                dx = (0.749f * innerTemp)-26.592f;
             } else
-                //43.46~45.55: result = 0.0026*sourceTemp+5.1097
-                if (innerTemp >= 43.46f && innerTemp < 45.55f) {
-                    //dx = (0.0026f * innerTemp + 5.1097f);
-                    dx = (0.01830618f * innerTemp + 5.1097f);
+                //38.64~43.46:result = 0.0178*result+1.3565
+                if (innerTemp >= 43.12f && innerTemp < 43.61) {
+                    //dx = (0.0178f * innerTemp + 1.3565f);
+                    dx = 5.5f;
                 } else
-                    //45.55~48.04: result = 0.001*sourceTemp+6.6122
-                    if (innerTemp >= 45.55f) {
-                        //dx = (0.001f * innerTemp + 6.6172f);
-                        dx = (0.0264945878f * innerTemp + 6.6172f);
-                    }
+                    //43.46~45.55: result = 0.0026*sourceTemp+5.1097
+                    if (innerTemp >= 43.61f && innerTemp < 44.42f) {
+                        //dx = (0.0026f * innerTemp + 5.1097f);
+                        dx = (0.864f * innerTemp - 31.878f);
+                    } else
+                        //45.55~48.04: result = 0.001*sourceTemp+6.6122
+                        if (innerTemp >= 44.42f) {
+                            //dx = (0.001f * innerTemp + 6.6172f);
+                            dx = 6.5;
+                        }
         ICLogger.d("bodyTemp == > " + bodyTemp);
         ICLogger.d("innerTemp == > " + innerTemp);
         ICLogger.d("dx == > " + dx);