以flaot格式对连续数据求平均值

时间:2017-06-27 05:55:35

标签: arrays vb.net

我来自发动机测试领域 我希望平均发动机排气压力值平均为1Hz。

我必须通过平均10来记录此压力值。

有人请在vb langauge中向我展示相同的代码。

我尝试使用以下代码

Dim averageData (9) as double
Dim dummyVar as integer
Dim sum as integer
Dim number as integer

对于1到10号 从这里开始,我必须在数组中获取数据并对数组元素求和并对其求平均值。在此之后,我必须为新集清除数组。该脚本将持续运行,直到进行后期测试。

1 个答案:

答案 0 :(得分:1)

这是一种方法。它可以扩展到大量样本,而不会增加计算成本。

这是C'伪代码'对于这种常见的算法。

typedef struct 
{
   int next;
   float sum;
   float readings[10];
} ravg_data;

float runningAverage(float value, ravg_data* data)
{
   data->sum += (value - data->readings[data->next]);
   data->readings[data->next] = value;
   if (++(data->next) >= 10)
     data->next = 0;
   return data->sum / 10;
}

初始化/重置时,只需使用

即可
memset(&data, 0, sizeof(ravg_data));

你必须翻译成VB,这应该弥补你没有发布代码。