您的位置:首页 > 其它

平均值,方差计算(sss)

2009-08-17 17:41 204 查看
sss系统的平均值,标准差计算公式。先放个效果图:



代码如下:

protected void Page_Load(object sender, EventArgs e)
{
//Flash画图
CreateChart();
}
//FLash柱状图显示
public void CreateChart()
{
DataTable dt = new DataTable();
string[] targetArr = new string[3];
string[] targetNameArr = new string[3];   //存放targetName的数组
double[] percentNum = new double[3];       //存放百分位数数组;

string sqlstr = "SELECT SUM(GetFeng) as gf,SUM(TotalFeng) as tf,UID FROM answertable where CpTID='3' group by UID order by tf";
dt = DtDB.GetDataTable(sqlstr);
double[] doubleArray = new double[dt.Rows.Count];    //doubleArray每一元素中装的值是 一个人的某项指标的平均值
for (int x = 0; x < dt.Rows.Count; x++)
{
DataRow dr2 = dt.Rows[x];
doubleArray[x] = Convert.ToDouble(dr2["gf"]) / 4;      //4为一指标所含题量(一般一指标4道题)
}

double An = 0.0;
double AvgN = 0.0;
double StandDevN = 0.0;

AvgN = Average(doubleArray);

StandDevN = StandardDeviation(doubleArray);
Label1.Text = dt.Rows.Count+ "平均值是:" + AvgN.ToString() + "      ^^^     标准差是:" + StandDevN.ToString();

dt.Dispose();

}
//平均值标准差计算公式
protected double StandardDeviation(double[] num)
{
double avg = Average(num);
double SumOfSqrs = 0.0;
foreach (double d in num)
{
SumOfSqrs += Math.Pow(d - avg, 2);
}
return Math.Sqrt((SumOfSqrs / (num.Length - 1)));
}
protected double Average(double[] num)
{
double sum = 0.0;
foreach (double d in num)
{
sum += d;
}
return sum / Convert.ToDouble(num.Length);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: