C#,《小白学程序》第十七课:随机数(Random)第四,移动平均值(Moving Average)的计算方法与代码

C#,《小白学程序》第十七课:随机数(Random)第四,移动平均值(Moving Average)的计算方法与代码_第1张图片

1 文本格式

///


/// 《小白学程序》第十七课:随机数(Random)第四,移动平均值的计算方法与代码
/// 继续学习数据统计,移动平均值的计算方法
/// 移动平均值就是一定步长内数值的平均值,用于反映阶段性的数值变化。
/// 股票软件,金融软件及一些忽悠人的预测都是这个技术。
/// 当然移动平均值也可以用于机器人、AI等等很多正能量的事情。
///

///
///
private void button17_Click(object sender, EventArgs e)
{
    // 生成一些随机数
    int n = 60;
    double[] temp = new double[n];
    double asum = 0.0;
    for (int i = 0; i < n; i++)
    {
        temp[i] = global_rnd.NextDouble() * 10.0 + 25.0;
        asum += temp[i];
    }
    // 计算平均值(总体平均值)
    double aavg = asum / n;

    // 保存移动平均值的数组
    double[] ma = new double[n];
    // 步长
    int step = 5;
    for (int i = 0; i < (n - step); i++)
    {
        double sum = 0.0;
        for (int j = 0; j < step; j++)
        {
            sum += temp[i + j];
        }
        double avg = sum / step;
        ma[i] = avg;
    }

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("");

    // 显示随机数
    sb.AppendLine("

");
    sb.AppendLine("");
    for (int i = 0; i < n - step; i++)
    {
        sb.AppendLine("");
    }
    sb.AppendLine("");
    sb.AppendLine("
");
    sb.AppendLine("
");
    sb.AppendLine("
");

    // 显示移动平均值
    sb.AppendLine("

");
    sb.AppendLine("");
    // 左端第一个为平均值(总体平均值)
    sb.AppendLine("");
    for (int i = 0; i < n - step; i++)
    {
        sb.AppendLine("");
    }
    // 右端第一个也是平均值(总体平均值)
    sb.AppendLine("");
    sb.AppendLine("");
    sb.AppendLine("
");

    webBrowser1.DocumentText = sb.ToString();

}
 

2 代码格式

/// 
/// 《小白学程序》第十七课:随机数(Random)第四,移动平均值的计算方法与代码
/// 继续学习数据统计,移动平均值的计算方法
/// 移动平均值就是一定步长内数值的平均值,用于反映阶段性的数值变化。
/// 股票软件,金融软件及一些忽悠人的预测都是这个技术。
/// 当然移动平均值也可以用于机器人、AI等等很多正能量的事情。
/// 
/// 
/// 
private void button17_Click(object sender, EventArgs e)
{
    // 生成一些随机数
    int n = 60;
    double[] temp = new double[n];
    double asum = 0.0;
    for (int i = 0; i < n; i++)
    {
        temp[i] = global_rnd.NextDouble() * 10.0 + 25.0;
        asum += temp[i];
    }
    // 计算平均值(总体平均值)
    double aavg = asum / n;

    // 保存移动平均值的数组
    double[] ma = new double[n];
    // 步长
    int step = 5;
    for (int i = 0; i < (n - step); i++)
    {
        double sum = 0.0;
        for (int j = 0; j < step; j++)
        {
            sum += temp[i + j];
        }
        double avg = sum / step;
        ma[i] = avg;
    }

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("");

    // 显示随机数
    sb.AppendLine("");
    sb.AppendLine("");
    for (int i = 0; i < n - step; i++)
    {
        sb.AppendLine("");
    }
    sb.AppendLine("");
    sb.AppendLine("
"); sb.AppendLine("
"); sb.AppendLine("
"); // 显示移动平均值 sb.AppendLine(""); sb.AppendLine(""); // 左端第一个为平均值(总体平均值) sb.AppendLine(""); for (int i = 0; i < n - step; i++) { sb.AppendLine(""); } // 右端第一个也是平均值(总体平均值) sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine("
"); webBrowser1.DocumentText = sb.ToString(); }

下面图片第一行是 若干随机数;

第二个是随机数的 移动平均值;蓝色条 为 总体平均值。

C#,《小白学程序》第十七课:随机数(Random)第四,移动平均值(Moving Average)的计算方法与代码_第2张图片

你可能感兴趣的:(C#入门教程,Beginner‘s,Recipes,c#,开发语言,入门教程,算法,数值计算)