首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求振幅的“绝对平均值”--目标C

求振幅的“绝对平均值”--目标C
EN

Stack Overflow用户
提问于 2016-03-01 23:40:06
回答 1查看 82关注 0票数 0

我需要从正弦波中检索绝对平均值。我被指示这样做:

您需要一个变量来存储数组中样本的总和,您应该将其初始化为零。然后遍历数组中的每个样本,获得绝对值并将其添加到总和中。

最后,您需要将最终和除以数组中的样本数量。这就得到了你想要的。

你可以平方这些值,而不是做绝对值。然后你就可以得到均方根了!

因此,我想出了以下代码:

代码语言:javascript
复制
float sum = 0;

for (i = 0; samples.length; i ++)
{
    float abs = fabsf(float samples[i]);
    sum += abs;
}

mean = sum / samples.length;

然而,我在第一行和第二行得到了错误...有人能帮我吗?我还需要一个函数来使用NSLog返回值?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 23:43:21

在:

代码语言:javascript
复制
  for (i = 0; samples.length; i ++)

第二个子句应该是一个布尔表达式,如果循环应该继续执行,则该表达式为真。您还需要声明i

我想你的意思是

代码语言:javascript
复制
 for (NSInteger i = 0; i < samples.length; i ++)

另外:

代码语言:javascript
复制
 fabsf(float samples[i])

应该是:

代码语言:javascript
复制
 fabsf((float)(samples[i]))

你可能还有其他错误,但是如果你需要更多帮助,你应该告诉我们你得到的编译器错误。例如:是否声明了mean

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35727111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档