/*******************************************************************************
* Function Name : calc_average
* Description : 计算平均值 公式: avg=last_avg*((num-1)/num)+next_val*1/num
* Input : last_avg:上一次平均值 next_val:加入计算的值 num:到现在加入计算的总个数
* Output : None
* Return : 平均值
*******************************************************************************/
float calc_average(float last_avg, float next_val, uint32_t num)
{
float avg_val=0;
if(num<=1)
{
avg_val=next_val;
}
else
{
avg_val=(last_avg*(((float)num-1)/(float)num)+next_val*(1/(float)num));/*必须强转float*/
}
return avg_val;
}
一种累加平均值算法
最新推荐文章于 2021-10-22 10:12:36 发布