diff --git a/doc/灰色预测模型.cs b/doc/灰色预测模型.cs new file mode 100644 index 00000000..341b99ce --- /dev/null +++ b/doc/灰色预测模型.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace YOMIFrameWork.Common +{ + /// + /// 灰色预测 + /// + public class GrayModel + { + private static GrayModel _Instrance = null; + public static GrayModel Instrance + { + get { if (_Instrance == null) return new GrayModel(); else return _Instrance; } + } + public double GetNext(List data) + { + //开始计算 + //一次累加begin + int number = data.Count; + double[] aArray = new double[number];//原始数据 + double[] bArray = new double[number];//一次累加的结果 + for (int i = 0; i < number; i++) + { + aArray[i] = data[i]; + } + bArray[0] = aArray[0]; + for (int x = 1; x < number; x++) + { + bArray[x] = bArray[x - 1] + aArray[x]; + } + //end + //计算均值系列begin + + double[] cArray = new double[number]; //均值计算的结果 + + cArray[0] = 0.0; + + for (int x = 1; x < number; x++) + { + + cArray[x] = bArray[x - 1] / 2 + bArray[x] / 2; + } + //end + + //计算C,D,E,F + //计算C + double[] dArray = new double[number]; + dArray[1] = cArray[1]; + for (int x = 1; x < number; x++) + { + + dArray[x] = cArray[x] + dArray[x - 1]; + + } + + double C; + C = dArray[number - 1]; + //end + + //计算D + double[] fArray = new double[number]; + fArray[1] = aArray[1]; + + for (int x = 1; x < number; x++) + { + + fArray[x] = aArray[x] + fArray[x - 1]; + + } + double D; + D = fArray[number - 1]; + //end + + //计算E + double[] gArray = new double[number]; + gArray[1] = aArray[1] * cArray[1]; + for (int x = 1; x < number; x++) + { + + gArray[x] = aArray[x] * cArray[x] + gArray[x - 1]; + + } + double E; + E = gArray[number - 1]; + //end + + //计算F + double[] hArray = new double[number]; + hArray[1] = cArray[1] * cArray[1]; + for (int x = 1; x < number; x++) + { + + hArray[x] = cArray[x] * cArray[x] + hArray[x - 1]; + + } + double F; + F = hArray[number - 1]; + //end + + //计算a,b + //计算发展系数a begin + + //textBox2.Text = ""; + double a; + + a = (C * D - (number - 1) * E) / ((number - 1) * F - C * C); + //textBox2.Text = a.ToString(); + //end + + //计算灰作用量b begin + //textBox3.Text = ""; + double b; + b = (D * F - C * E) / ((number - 1) * F - C * C); + //textBox3.Text = b.ToString(); + //end + + //计算q + double q; + q = b / a; + //end + + //istBox4.Items.Clear(); + double ssn1 = (aArray[0] - q) * Math.Exp(-a * (number)) + q; + double ssn = (aArray[0] - q) * Math.Exp(-a * (number - 1)) + q; + + return (ssn1 - ssn); + } + } + +} \ No newline at end of file diff --git a/safesite/templates/equipment.html b/safesite/templates/equipment.html index 3894dac2..fdf8f432 100644 --- a/safesite/templates/equipment.html +++ b/safesite/templates/equipment.html @@ -121,7 +121,7 @@

请按模板录入后导入

点击下载模板

录入完成后点击下方按钮上传文件

- +