Quellcode durchsuchen

数据分析里增加相对平均值偏差的计算

robbin vor 4 Jahren
Ursprung
Commit
27b06cd446

+ 21 - 0
app/src/main/java/com/example/administrator/wingcool_gt9_apk/DataAnalysis.java

@@ -755,6 +755,8 @@ public class DataAnalysis extends AppCompatActivity
             int mindata;
             int mindata;
             long laverage;  //平均值,临时存储和值
             long laverage;  //平均值,临时存储和值
             int iaverage;   //平均值
             int iaverage;   //平均值
+            int irmd = 0;  //相对平均值偏差
+            int itemp;  //临时存放
             switch (msg.what) {
             switch (msg.what) {
                 case RAWDATA_MESSAGE://
                 case RAWDATA_MESSAGE://
                     //ShowData();
                     //ShowData();
@@ -827,6 +829,8 @@ public class DataAnalysis extends AppCompatActivity
                                 }
                                 }
 
 
                                 laverage += datatemp[i];
                                 laverage += datatemp[i];
+
+                                i++;
                             }
                             }
                         }
                         }
                         tempcol = 0;
                         tempcol = 0;
@@ -837,6 +841,22 @@ public class DataAnalysis extends AppCompatActivity
 
 
                     iaverage = (int)(laverage / (long) (rownum * colnum));
                     iaverage = (int)(laverage / (long) (rownum * colnum));
 
 
+                    for (i = 0; i < (int)(rownum * colnum); i++) {
+                        if (datatemp[i] >= iaverage)
+                        {
+                            itemp = (int)((long)((datatemp[i] - iaverage) * 100) / iaverage);
+                        }
+                        else
+                        {
+                            itemp = (int)((long)((iaverage - datatemp[i]) * 100) / iaverage);
+
+                        }
+                        if (itemp > irmd)
+                        {
+                            irmd = itemp;
+                        }
+                    }
+
                     mtextView.setText(stringBuilder.toString());
                     mtextView.setText(stringBuilder.toString());
                     tvMaximum.setText(Integer.toString(maxdata));
                     tvMaximum.setText(Integer.toString(maxdata));
                     tvMinimum.setText(Integer.toString(mindata));
                     tvMinimum.setText(Integer.toString(mindata));
@@ -847,6 +867,7 @@ public class DataAnalysis extends AppCompatActivity
                         tvUniformity.setText(Integer.toString(100 - (mindata * 100) / maxdata));
                         tvUniformity.setText(Integer.toString(100 - (mindata * 100) / maxdata));
                     }
                     }
                     tvAverage.setText(Integer.toString(iaverage));
                     tvAverage.setText(Integer.toString(iaverage));
+                    tvRMD.setText(Integer.toString(irmd));
                     /*
                     /*
                     for (int j = 0; j < rownum * colnum * 2; j++ ) {
                     for (int j = 0; j < rownum * colnum * 2; j++ ) {
                         // int v = mRawdataBytes[i] & 0xFF;
                         // int v = mRawdataBytes[i] & 0xFF;