长春广告公司网站建设,网站运营难吗,软件开发外包管理,阿里巴巴网站域名注册1 文本格式 /// summary /// 《小白学程序》第十八课#xff1a;随机数#xff08;Random#xff09;第五#xff0c;方差及标准方差#xff08;标准差#xff09;的计算方法与代码 /// 方差 SUM(#xff08;Xi - X)^2 ) / n i0...n-1 X Average of X[i] ///…
1 文本格式 /// summary /// 《小白学程序》第十八课随机数Random第五方差及标准方差标准差的计算方法与代码 /// 方差 SUM(Xi - X)^2 ) / n i0...n-1 X Average of X[i] /// 方差是 (各数值减去平均值)的平方 之和再除以个数。 /// 方差的平方 标准差反之开平方即可。 /// 本课是为了验证前面的正态分布函数。 /// /summary /// param namesender/param /// param namee/param private void button18_Click(object sender, EventArgs e) { // 随机数个数 int m 50000; // 随机数的范围0---1023 int n 1024; int[] num new int[m]; int i 0; while (i m) { // 按正太分布生成随机数 // 平均值 0.5 * n // 标准差 0.1 * n int a (int)(Rand(0.5, 0.1) * n); if (a 0) continue; if (a n) continue; num[i] a; } // 计算平均值 double sum 0.0; for (int j 0; j m; j) { sum num[j]; } double avg sum / (double)m; // 计算方差 double delta 0.0; for (int j 0; j m; j) { // 原始写法 //delta delta (num[j] - avg) * (num[j] - avg); // 另一种写法 delta Math.Pow((num[j] - avg), 2); } // 方差 double variance_1 delta / (double)m; // 标准差 double standard_variance_1 Math.Sqrt(delta / (double)(m)) / (double)n; #region 更严肃的算法应该先进行数据规范化 // 将数据规整到0 --- 1.0再计算方差等等。 double[] xnum new double[m]; for (int j 0; j m; j) { xnum[j] num[j] / (double)n; } // 均值也需要规范化 avg / n; // 计算方差 delta 0.0; for (int j 0; j m; j) { delta Math.Pow((xnum[j] - avg), 2.0); } double standard_variance_2 Math.Sqrt(delta / (double)(m)); #endregion StringBuilder sb new StringBuilder(); sb.AppendLine(平均值 avg br); sb.AppendLine(方差 variance_1 br); sb.AppendLine(标准方差 standard_variance_1 br); sb.AppendLine(标准方差 standard_variance_2 规范数据后计算br); webBrowser1.DocumentText sb.ToString(); }
2 代码格式 /// summary
/// 《小白学程序》第十八课随机数Random第五方差及标准方差标准差的计算方法与代码
/// 方差 SUM(Xi - X)^2 ) / n i0...n-1 X Average of X[i]
/// 方差是 (各数值减去平均值)的平方 之和再除以个数。
/// 方差的平方 标准差反之开平方即可。
/// 本课是为了验证前面的正态分布函数。
/// /summary
/// param namesender/param
/// param namee/param
private void button18_Click(object sender, EventArgs e)
{// 随机数个数int m 50000;// 随机数的范围0---1023int n 1024;int[] num new int[m];int i 0;while (i m){// 按正太分布生成随机数// 平均值 0.5 * n// 标准差 0.1 * nint a (int)(Rand(0.5, 0.1) * n);if (a 0) continue;if (a n) continue;num[i] a;}// 计算平均值double sum 0.0;for (int j 0; j m; j){sum num[j];}double avg sum / (double)m;// 计算方差double delta 0.0;for (int j 0; j m; j){// 原始写法//delta delta (num[j] - avg) * (num[j] - avg);// 另一种写法delta Math.Pow((num[j] - avg), 2);}// 方差double variance_1 delta / (double)m;// 标准差double standard_variance_1 Math.Sqrt(delta / (double)(m)) / (double)n;#region 更严肃的算法应该先进行数据规范化// 将数据规整到0 --- 1.0再计算方差等等。double[] xnum new double[m];for (int j 0; j m; j){xnum[j] num[j] / (double)n;}// 均值也需要规范化avg / n;// 计算方差delta 0.0;for (int j 0; j m; j){delta Math.Pow((xnum[j] - avg), 2.0);}double standard_variance_2 Math.Sqrt(delta / (double)(m));#endregionStringBuilder sb new StringBuilder();sb.AppendLine(平均值 avg br);sb.AppendLine(方差 variance_1 br);sb.AppendLine(标准方差 standard_variance_1 br);sb.AppendLine(标准方差 standard_variance_2 规范数据后计算br);webBrowser1.DocumentText sb.ToString();
}3 计算结果