输入10个数字,返回正态分布的均数跟标准差 求方法比如 10 15 12 16 18 12 14 21 23 26 28 24 25 返回 20 10差不多这个意思 数据可能不正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Collections.Generic;using System.Text;namespace AppMath{public class Maths{/// <summary>/// 求出数据平均值,并保留三位小数/// </summary>/// <param name="Valist">数据集合</param>/// <returns></returns>public double average(List<double> Valist){double sum = 0;foreach (double d in Valist){sum = sum + d;}double revl = System.Math.Round(sum / Valist.Count, 3);return revl;}/// <summary>/// 求数据集合标准差/// </summary>/// <param name="ValList"></param>/// <returns></returns>public double stdev(List<double> ValList){double avg = average(ValList);double sumstdev = 0;foreach (double d in ValList){sumstdev = sumstdev + (d - avg) * (d - avg);}double stdeval = System.Math.Sqrt(sumstdev);return System.Math.Round(stdeval, 3);}/// <summary>/// 相关系数,要求两个集合数量必须相同/// </summary>/// <param name="array1">数组一</param>/// <param name="array2">数组二</param>/// <returns></returns>public double correl(List<double> array1, List<double> array2){//数组一double avg1 = average(array1);double stdev1 = stdev(array1);//数组二double avg2 = average(array2);double stdev2 = stdev(array2);double sum = 0;for (int i = 0; i < array1.Count && i < array2.Count; i++){sum = sum + ((array1[i] - avg1) / stdev1) * ((array2[i] - avg2) / stdev2);}return Math.Round(sum, 3);} }} using System;using System.Collections.Generic;using System.Text;namespace AppMath{public class Maths{/// <summary>/// 求出数据平均值,并保留三位小数/// </summary>/// <param name="Valist">数据集合</param>/// <returns></returns>public double average(List<double> Valist){double sum = 0;foreach (double d in Valist){sum = sum + d;}double revl = System.Math.Round(sum / Valist.Count, 3);return revl;}/// <summary>/// 求数据集合标准差/// </summary>/// <param name="ValList"></param>/// <returns></returns>public double stdev(List<double> ValList){double avg = average(ValList);double sumstdev = 0;foreach (double d in ValList){sumstdev = sumstdev + (d - avg) * (d - avg);}double stdeval = System.Math.Sqrt(sumstdev);return System.Math.Round(stdeval, 3);}/// <summary>/// 相关系数,要求两个集合数量必须相同/// </summary>/// <param name="array1">数组一</param>/// <param name="array2">数组二</param>/// <returns></returns>public double correl(List<double> array1, List<double> array2){//数组一double avg1 = average(array1);double stdev1 = stdev(array1);//数组二double avg2 = average(array2);double stdev2 = stdev(array2);double sum = 0;for (int i = 0; i < array1.Count && i < array2.Count; i++){sum = sum + ((array1[i] - avg1) / stdev1) * ((array2[i] - avg2) / stdev2);}return Math.Round(sum, 3);} }} 就是求均值和标准差,方差嘛,这么简单,百度一下公式,自己就可以搞定了,均值不用说了,大家都知道,方差公式如下:cov=(1/n)*[(x1-mean)*(x1-mean)+(x2-mean)*(x2-mean)+……]其中n表示数据个数总数,mean表示均值,[]内是个求和的意思;标准差就是方差开方 调用页面如何捕捉用户控件抛出的异常 asp.net 问题 dll檔的問題請教 100分 求javascript操作dataset 可不可以在自己的页面调用百度的搜索,只把搜索的结果放在自己的页面里。百度的页面头部和底部都去掉呢? |zyciis| 商品表设置的疑问:销售量 评论量 点击量 打分 这些字段要怎么来设计呢 .net中如何查询Json数据中的指定值 asp.net程序员面试一般有笔试或者机试吗? 防止用户重复登陆和同一用户二次登陆后后这继承前者所有信息。求救~~~~~ 类型转换问题 索引超出范围 索引超出范围。必须为非负值并小于集合大小。
using System.Collections.Generic;
using System.Text;namespace AppMath
{
public class Maths
{
/// <summary>
/// 求出数据平均值,并保留三位小数
/// </summary>
/// <param name="Valist">数据集合</param>
/// <returns></returns>
public double average(List<double> Valist)
{
double sum = 0;
foreach (double d in Valist)
{
sum = sum + d;
}
double revl = System.Math.Round(sum / Valist.Count, 3);
return revl;
}
/// <summary>
/// 求数据集合标准差
/// </summary>
/// <param name="ValList"></param>
/// <returns></returns>
public double stdev(List<double> ValList)
{
double avg = average(ValList);
double sumstdev = 0;
foreach (double d in ValList)
{
sumstdev = sumstdev + (d - avg) * (d - avg);
}
double stdeval = System.Math.Sqrt(sumstdev);
return System.Math.Round(stdeval, 3);
}
/// <summary>
/// 相关系数,要求两个集合数量必须相同
/// </summary>
/// <param name="array1">数组一</param>
/// <param name="array2">数组二</param>
/// <returns></returns>
public double correl(List<double> array1, List<double> array2)
{
//数组一
double avg1 = average(array1);
double stdev1 = stdev(array1);
//数组二
double avg2 = average(array2);
double stdev2 = stdev(array2);double sum = 0;
for (int i = 0; i < array1.Count && i < array2.Count; i++)
{
sum = sum + ((array1[i] - avg1) / stdev1) * ((array2[i] - avg2) / stdev2);
}
return Math.Round(sum, 3);
}
}
}
using System.Collections.Generic;
using System.Text;namespace AppMath
{
public class Maths
{
/// <summary>
/// 求出数据平均值,并保留三位小数
/// </summary>
/// <param name="Valist">数据集合</param>
/// <returns></returns>
public double average(List<double> Valist)
{
double sum = 0;
foreach (double d in Valist)
{
sum = sum + d;
}
double revl = System.Math.Round(sum / Valist.Count, 3);
return revl;
}
/// <summary>
/// 求数据集合标准差
/// </summary>
/// <param name="ValList"></param>
/// <returns></returns>
public double stdev(List<double> ValList)
{
double avg = average(ValList);
double sumstdev = 0;
foreach (double d in ValList)
{
sumstdev = sumstdev + (d - avg) * (d - avg);
}
double stdeval = System.Math.Sqrt(sumstdev);
return System.Math.Round(stdeval, 3);
}
/// <summary>
/// 相关系数,要求两个集合数量必须相同
/// </summary>
/// <param name="array1">数组一</param>
/// <param name="array2">数组二</param>
/// <returns></returns>
public double correl(List<double> array1, List<double> array2)
{
//数组一
double avg1 = average(array1);
double stdev1 = stdev(array1);
//数组二
double avg2 = average(array2);
double stdev2 = stdev(array2);double sum = 0;
for (int i = 0; i < array1.Count && i < array2.Count; i++)
{
sum = sum + ((array1[i] - avg1) / stdev1) * ((array2[i] - avg2) / stdev2);
}
return Math.Round(sum, 3);
}
}
}
其中n表示数据个数总数,mean表示均值,[]内是个求和的意思;
标准差就是方差开方