|
@@ -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;
|
|
|
+ }
|
|
|
+}
|