查找简单移动平均数的程序


在本文中,我们的目标是确定数组中给定值的简单移动平均数。让我们快速了解一下简单移动平均数的含义。

从一段时间 (t) 内的数据得出的平均值称为简单移动平均数。在典型的平均数中,简单移动平均值会随着数据变化而变化,但在这种平均数中,它也会随时间变化。在获得给定时间段 t 的平均值后,一些较早的数据就会被删除。当此过程继续时,我们再次获得新的平均值。由于这个原因,它使用了移动平均线。这种简单移动平均线在金融市场中有很多应用。

问题陈述

实现一个程序来获取简单移动平均数。

方法

为了计算简单移动平均数,我们必须确认所有指定的项目都符合程序员的规范。此外,我们必须确保总和和平均值初始化为零,否则它们可能会使用错误的值,并且结果可能不一致。

我们将平均值指定为浮点数或双精度数类型的数据作为我们的下一个安全措施。如果您是学生,则不必担心,但如果您决定在商业世界中使用此程序,则将进行数百万次计算。如果不考虑小数,答案无疑将给出,但结果会有很大差异。

让我们用一个例子来使主题更清楚,以便您理解。

解释

将整数数组视为输入。

输入:{1,2,3,4,5}

让我们将长度设为 2

计算

由于我们取的长度为 2,因此我们一次考虑两个连续的数字。

考虑 1 和 2,将 1+2 相加得到 3。

这里得到的平均值为 3/2,即 1.5

考虑 2 和 3,将 2+3 相加得到 5。

这里得到的平均值为 5/2,即 2.5

考虑 3 和 4,将 3+4 相加得到 7。

这里得到的平均值为 7/2,即 3.5

考虑 4 和 5,将 4+5 相加得到 9。

这里得到的平均值为 9/2,即 4.5

所有平均值都被视为输出。

算法

下面提供了给定数组时查找简单移动平均数的算法。

步骤 1:设置整数数组的大小

步骤 2:输入数组的元素。

步骤 3:将 sum 设置为 0,将 movAvg 设置为 0

步骤 4:迭代两个 for 循环。

步骤 5:打印 movAvg=sum/k 获得的结果。

下面提供了用于查找给定数组的简单移动平均数的 C 程序。

示例

#include<stdio.h>
int main() {
   const int n = 10;  //set the array size
   float a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //input array elements
   int k = 2;    // set the length
   float sum = 0;
   float movAvg = 0;
//iterate the loop and check for the condition
   for (int i = 0; i <= ( n - k); i++) {
     sum = 0;            
     for (int j = i; j < i + k; j++) {
       sum += a[j];        
     }
     movAvg = sum / k;
   printf("Simple Moving Average : %.2f \n",movAvg); //print output 
   }
   return 0;
}

输出

执行后,它将产生以下输出

Simple Moving Average : 1.50 
Simple Moving Average : 2.50 
Simple Moving Average : 3.50 
Simple Moving Average : 4.50 
Simple Moving Average : 5.50 
Simple Moving Average : 6.50 
Simple Moving Average : 7.50 
Simple Moving Average : 8.50 
Simple Moving Average : 9.50

结论

同样,我们可以通过输入数组的值来确定简单移动平均数。

本文解决了确定给定数组的简单移动平均数的挑战。这里提供了查找简单移动平均数的 C 编程代码。

更新于: 2023-08-23

2K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.