Forráskód Böngészése

计算电量算法

shilin 1 éve
szülő
commit
c90cc3c910

+ 30 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/util/math/PowerIntegration.java

@@ -0,0 +1,30 @@
+package com.gyee.generation.util.math;
+
+import java.util.Map;
+
+public class PowerIntegration {
+
+    /**
+     *
+     * @param powerData
+     *             0, 100.0,
+     *             1, 110.0,
+     *             2, 95.0,
+     *             3, 105.0
+     * @param timeInterval    时间间隔,单位为小时
+     * @return
+     */
+    // 计算电量
+    private static double calculateEnergy(Map<Integer, Double> powerData, double timeInterval) {
+        double energy = 0.0;
+        for (int time = 0; time < powerData.size() - 1; time++) {
+            double power1 = powerData.get(time);
+            double power2 = powerData.get(time + 1);
+            double averagePower = (power1 + power2) / 2.0;
+            double timeIntervalHours = timeInterval;
+            double intervalEnergy = averagePower * timeIntervalHours;
+            energy += intervalEnergy;
+        }
+        return energy;
+    }
+}