获取从一个数组到另一个数组的平均值

本文关键字:数组 另一个 平均值 一个 获取 | 更新日期: 2023-09-27 18:27:56

我不是程序员,但我正在学习C#来构建一个外汇交易系统,而Arrays正在努力…

我遇到的问题是…

我有一个一维数组,比方说,里面有100个元素

现在,我需要在第一个数组的基础上构建另一个具有10个元素滚动平均值的一维数组。

换句话说,我需要从第一个数组中取从I=0到I=9的元素,并对它们进行平均,然后将平均值保存在一个新数组中。然后向前移动一步,从原始数组中取i=1到i=10,对它们求平均值,并将结果保存在新数组中……以此类推……在Excel中,这将非常容易…。

我需要数组中的数据,因为稍后我需要将最后10个元素的滚动平均值与历史数据进行比较…。

拜托,有人能构建一个我可以使用的示例代码吗?

非常感谢Paulo

获取从一个数组到另一个数组的平均值

也许这样的东西可以工作。。。在我的mac上用优美的文字做了这件事,所以你仍然需要使用。不过应该明白了。

 public class Foo 
 {
    List<int> main = new List<int>(100);
    List<int> rollingAverages = new List<int>(100);
    public void Add(int score)
    {
        main.Add(score);
        if(main.Count > 10)
        {
            int rollingAverage = AverageLast10();
            rollingAverages.Add(rollingAverage);
        }
    }
    public int AverageLast10()
    {
        int sum = 0;
        for(int i = main.Count - 10; i < 10; i++)
        {
            sum += main[i];
        }
        return sum / 10;
    }
 }   

Somewhere else in the code
Foo foo = new Foo();
foo.Add(94);
foo.Add(94);
...
 yadda yadda yadda