因修改influxDB数据库的部分表结构,谐波模块修改了部分代码
This commit is contained in:
@@ -120,12 +120,13 @@ public class ComAssesUtil {
|
||||
for(int i=0;i<pqsComasses.size();i++){
|
||||
PqsComasses tempPqs=pqsComasses.get(i);
|
||||
//组合二维数组
|
||||
float f1[][]={{tempPqs.getFreqDev1(),tempPqs.getFreqDev2(),tempPqs.getFreqDev3(),tempPqs.getFreqDev4(),tempPqs.getFreqDev5()}
|
||||
,{tempPqs.getVThd1(),tempPqs.getVThd2(),tempPqs.getVThd3(),tempPqs.getVThd4(),tempPqs.getVThd5(),}
|
||||
,{tempPqs.getDataPst1(),tempPqs.getDataPst2(),tempPqs.getDataPst3(),tempPqs.getDataPst4(),tempPqs.getDataPst5()}
|
||||
,{tempPqs.getVuDev1(),tempPqs.getVuDev2(),tempPqs.getVuDev3(),tempPqs.getVuDev4(),tempPqs.getVuDev5(),}
|
||||
,{tempPqs.getVUnbalance1(),tempPqs.getVUnbalance2(),tempPqs.getVUnbalance3(),tempPqs.getVUnbalance4(),tempPqs.getVUnbalance5(),}
|
||||
,{tempPqs.getEvent1(),tempPqs.getEvent2(),tempPqs.getEvent3(),tempPqs.getEvent4(),tempPqs.getEvent5(),}};
|
||||
float f1[][]={{tempPqs.getFreqDev1().floatValue(),tempPqs.getFreqDev2().floatValue(),tempPqs.getFreqDev3().floatValue()
|
||||
,tempPqs.getFreqDev4().floatValue(),tempPqs.getFreqDev5().floatValue()}
|
||||
,{tempPqs.getVThd1().floatValue(),tempPqs.getVThd2().floatValue(),tempPqs.getVThd3().floatValue(),tempPqs.getVThd4().floatValue(),tempPqs.getVThd5().floatValue(),}
|
||||
,{tempPqs.getDataPlt1().floatValue(),tempPqs.getDataPlt2().floatValue(),tempPqs.getDataPlt3().floatValue(),tempPqs.getDataPlt4().floatValue(),tempPqs.getDataPlt5().floatValue()}
|
||||
,{tempPqs.getVuDev1().floatValue(),tempPqs.getVuDev2().floatValue(),tempPqs.getVuDev3().floatValue(),tempPqs.getVuDev4().floatValue(),tempPqs.getVuDev5().floatValue(),}
|
||||
,{tempPqs.getVUnbalance1().floatValue(),tempPqs.getVUnbalance2().floatValue(),tempPqs.getVUnbalance3().floatValue(),tempPqs.getVUnbalance4().floatValue(),tempPqs.getVUnbalance5().floatValue(),}
|
||||
,{tempPqs.getEvent1().floatValue(),tempPqs.getEvent2().floatValue(),tempPqs.getEvent3().floatValue(),tempPqs.getEvent4().floatValue(),tempPqs.getEvent5().floatValue(),}};
|
||||
//获取该值返回的数据
|
||||
float temp=GetComAsses(f1);
|
||||
allData+=temp;
|
||||
@@ -153,18 +154,22 @@ public class ComAssesUtil {
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
sum[i] = 0;
|
||||
for (j = 0; j < GRADE_NUM; j++) {
|
||||
if (Assess[i][j] != 0)
|
||||
if (Assess[i][j] != 0) {
|
||||
sum[i] += Assess[i][j] * (Math.log(Assess[i][j]) / Math.log(2.7183));
|
||||
}
|
||||
}
|
||||
e[i] = -k * sum[i];
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
d[i] = 1 - e[i];
|
||||
}
|
||||
sum[0] = 0;
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
sum[0] += d[i];
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
Weight[i][METHOD_IDX4] = d[i] / sum[0];
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage());
|
||||
blSqfFlag = false;
|
||||
@@ -189,28 +194,33 @@ public class ComAssesUtil {
|
||||
//求平均值
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
sum = 0;
|
||||
for (j = 0; j < GRADE_NUM; j++)
|
||||
for (j = 0; j < GRADE_NUM; j++) {
|
||||
sum += Assess[i][j];
|
||||
}
|
||||
avg_f[i] = sum / GRADE_NUM;
|
||||
}
|
||||
//求标准差
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
sum = 0;
|
||||
for (j = 0; j < GRADE_NUM; j++)
|
||||
for (j = 0; j < GRADE_NUM; j++) {
|
||||
sum += Math.pow((Assess[i][j] - avg_f[i]), 2);
|
||||
}
|
||||
std_f[i] = (float) (Math.sqrt(sum / GRADE_NUM));
|
||||
}
|
||||
//求变异系数
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
if (avg_f[i] < 0)
|
||||
if (avg_f[i] < 0) {
|
||||
avg_f[i] = 0 - avg_f[i];
|
||||
}
|
||||
byxs[i] = std_f[i] / avg_f[i];
|
||||
}
|
||||
sum = 0;
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
sum += byxs[i];
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
Weight[i][METHOD_IDX5] = byxs[i] / sum;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage());
|
||||
blBysxfFlag = false;
|
||||
@@ -234,31 +244,37 @@ public class ComAssesUtil {
|
||||
//求C
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
tmp1[i] = 0;
|
||||
for (j = 0; j < GRADE_NUM; j++)
|
||||
for (j = 0; j < GRADE_NUM; j++) {
|
||||
tmp1[i] += 2 * METHOD_NUM * Math.pow(Assess[i][j], 2);
|
||||
}
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
for (j = 0; j < ST_QT_NUM; j++) {
|
||||
if (i == j)
|
||||
if (i == j) {
|
||||
C[i][j] = tmp1[i];
|
||||
else
|
||||
}
|
||||
else {
|
||||
C[i][j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//求C的逆矩阵C1,由于C是对角矩阵,简化矩阵求逆
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
for (j = 0; j < ST_QT_NUM; j++) {
|
||||
if (i == j)
|
||||
if (i == j) {
|
||||
C1[i][j] = (float) 1.0 / C[i][j];
|
||||
else
|
||||
}
|
||||
else {
|
||||
C1[i][j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//求D
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
tmp1[i] = 0;
|
||||
for (k = 0; k < METHOD_NUM; k++)
|
||||
for (k = 0; k < METHOD_NUM; k++) {
|
||||
tmp1[i] += Weight[i][k];
|
||||
}
|
||||
tmp2[i] = 0;
|
||||
for (j = 0; j < GRADE_NUM; j++) {
|
||||
tmp2[i] += tmp1[i] * Math.pow(Assess[i][j], 2);
|
||||
@@ -266,29 +282,36 @@ public class ComAssesUtil {
|
||||
D[i] = 2 * tmp2[i];
|
||||
}
|
||||
//e赋值
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
e[i] = 1;
|
||||
}
|
||||
//计算eT*C1
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
tmp1[i] = 0;
|
||||
for (j = 0; j < ST_QT_NUM; j++)
|
||||
for (j = 0; j < ST_QT_NUM; j++) {
|
||||
tmp1[i] += e[i] * C1[j][i];
|
||||
}
|
||||
}
|
||||
t1 = 0;
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
t1 += tmp1[i] * e[i];
|
||||
}
|
||||
t2 = 0;
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
t2 += tmp1[i] * D[i];
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
e[i] = e[i] * ((1 - t2) / t1);
|
||||
for (i = 0; i < ST_QT_NUM; i++)
|
||||
}
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
D[i] = D[i] + e[i];
|
||||
}
|
||||
//求A
|
||||
for (i = 0; i < ST_QT_NUM; i++) {
|
||||
A[i] = 0;
|
||||
for (j = 0; j < ST_QT_NUM; j++)
|
||||
for (j = 0; j < ST_QT_NUM; j++) {
|
||||
A[i] += C1[i][j] * D[j];
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.error(ex.getMessage());
|
||||
|
||||
@@ -2,42 +2,109 @@ package com.njcn.web.utils;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.influxdb.annotation.Column;
|
||||
import org.influxdb.annotation.Measurement;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Measurement(name = "pqs_comasses")
|
||||
public class PqsComasses implements Serializable {
|
||||
private LocalDateTime timeid;
|
||||
@Column(name = "time")
|
||||
private Instant timeid;
|
||||
|
||||
@Column(name = "line_id")
|
||||
private String lineid;
|
||||
private float freqDev1;
|
||||
private float freqDev2;
|
||||
private float freqDev3;
|
||||
private float freqDev4;
|
||||
private float freqDev5;
|
||||
private float vuDev1;
|
||||
private float vuDev2;
|
||||
private float vuDev3;
|
||||
private float vuDev4;
|
||||
private float vuDev5;
|
||||
private float dataPst1;
|
||||
private float dataPst2;
|
||||
private float dataPst3;
|
||||
private float dataPst4;
|
||||
private float dataPst5;
|
||||
private float vUnbalance1;
|
||||
private float vUnbalance2;
|
||||
private float vUnbalance3;
|
||||
private float vUnbalance4;
|
||||
private float vUnbalance5;
|
||||
private float vThd1;
|
||||
private float vThd2;
|
||||
private float vThd3;
|
||||
private float vThd4;
|
||||
private float vThd5;
|
||||
private float event1;
|
||||
private float event2;
|
||||
private float event3;
|
||||
private float event4;
|
||||
private float event5;
|
||||
|
||||
@Column(name = "freq_dev1")
|
||||
private Double freqDev1;
|
||||
|
||||
@Column(name = "freq_dev2")
|
||||
private Double freqDev2;
|
||||
|
||||
@Column(name = "freq_dev3")
|
||||
private Double freqDev3;
|
||||
|
||||
@Column(name = "freq_dev4")
|
||||
private Double freqDev4;
|
||||
|
||||
@Column(name = "freq_dev5")
|
||||
private Double freqDev5;
|
||||
|
||||
@Column(name = "vu_dev1")
|
||||
private Double vuDev1;
|
||||
|
||||
@Column(name = "vu_dev2")
|
||||
private Double vuDev2;
|
||||
|
||||
@Column(name = "vu_dev3")
|
||||
private Double vuDev3;
|
||||
|
||||
@Column(name = "vu_dev4")
|
||||
private Double vuDev4;
|
||||
|
||||
@Column(name = "vu_dev5")
|
||||
private Double vuDev5;
|
||||
|
||||
@Column(name = "data_plt1")
|
||||
private Double dataPlt1;
|
||||
|
||||
@Column(name = "data_plt2")
|
||||
private Double dataPlt2;
|
||||
|
||||
@Column(name = "data_plt3")
|
||||
private Double dataPlt3;
|
||||
|
||||
@Column(name = "data_plt4")
|
||||
private Double dataPlt4;
|
||||
|
||||
@Column(name = "data_plt5")
|
||||
private Double dataPlt5;
|
||||
|
||||
@Column(name = "v_unbalance1")
|
||||
private Double vUnbalance1;
|
||||
|
||||
@Column(name = "v_unbalance2")
|
||||
private Double vUnbalance2;
|
||||
|
||||
@Column(name = "v_unbalance3")
|
||||
private Double vUnbalance3;
|
||||
|
||||
@Column(name = "v_unbalance4")
|
||||
private Double vUnbalance4;
|
||||
|
||||
@Column(name = "v_unbalance5")
|
||||
private Double vUnbalance5;
|
||||
|
||||
@Column(name = "v_thd1")
|
||||
private Double vThd1;
|
||||
|
||||
@Column(name = "v_thd2")
|
||||
private Double vThd2;
|
||||
|
||||
@Column(name = "v_thd3")
|
||||
private Double vThd3;
|
||||
|
||||
@Column(name = "v_thd4")
|
||||
private Double vThd4;
|
||||
|
||||
@Column(name = "v_thd5")
|
||||
private Double vThd5;
|
||||
|
||||
@Column(name = "event1")
|
||||
private Double event1;
|
||||
|
||||
@Column(name = "event2")
|
||||
private Double event2;
|
||||
|
||||
@Column(name = "event3")
|
||||
private Double event3;
|
||||
|
||||
@Column(name = "event4")
|
||||
private Double event4;
|
||||
|
||||
@Column(name = "event5")
|
||||
private Double event5;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user