This commit is contained in:
caoqianming 2021-11-11 08:20:02 +08:00
commit f4313eada2
2 changed files with 133 additions and 1 deletions

132
doc/灰色预测模型.cs Normal file
View File

@ -0,0 +1,132 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace YOMIFrameWork.Common
{
/// <summary>
/// 灰色预测
/// </summary>
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<double> 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);
}
}
}

View File

@ -121,7 +121,7 @@
<p style="color:red;margin-left: 10px">请按模板录入后导入</p>
<p style="margin-left: 10px"><a href="/static/safesite/muban/equipment.xlsx" target="_blank">点击下载模板</a></p>
<p style="margin-left: 10px">录入完成后点击下方按钮上传文件</p>
<input type="file" id="drfile" name="" accept=".xls,.xlsx" style="margin-left: 10px" />
<input type="file" id="drfile" name="" accept=".xlsx" style="margin-left: 10px" />
</div>
<div id="bindjcbdg" class="easyui-dialog" title="绑定检查表" style="width:400px;height:200px;padding: 10px;"
data-options="resizable:true,modal:true,closed:true,border:false,buttons:'#dlg-buttons'">