【问题标题】:for loop to calculate mean valuefor循环计算平均值
【发布时间】:2016-12-22 13:36:30
【问题描述】:

我有一个 41 列和 513 行的 Excel 表。我想使用一个循环来计算 4 列的平均值。间隔是 i = 2:4:41。我需要帮助写下循环。

for i = 2:4:41
    the formula for the mean calculation, V()=V()/41;
end

需要有关公式的帮助。

【问题讨论】:

  • 在家庭作业方面需要帮助?不如你自己试一试,先把基本代码拿回来?
  • 我已经完成了基本功课。但是,我被卡住了,因此提出了问题。
  • @Sai 通常不鼓励在 Stack Overflow 上提出家庭作业问题,除非伴随着适当的尝试和写得很好的问题陈述以及问题所在。无论如何,我冒昧地编写了一小段代码,尝试从中学习。我不会向您详细解释所有内容,因为您仍然需要学习如何为您的班级实际编写此类代码。
  • @Adriaan - 这不是课堂作业。我正在从事患者数据分析。同意我的问题方法不够清楚,今后会改进。
  • 此代码不计算四列的平均值。这会计算每四列的平均值。

标签: matlab for-loop


【解决方案1】:

您可以使用mean 功能来执行此操作:

DataMatrix = rand(513,41);

ColMean = zeros(length(DataMatrix),numel(2:4:37)); % initialise output
range = 2:4:37;
for ii = 1:numel(range)  %go to 37, otherwise it'll fail
    ColMean(:,ii) = mean(DataMatrix(:,range(ii):range(ii)+3),2);
end

我将由你来向你的老师解释你是如何初始化向量的,以及你如何将range 用于for 循环。

【讨论】:

  • 我认为他“在公式方面需要帮助” - 应该刚刚写了 (V(1)+V(2)+V(3)+V(4)) / 4 很好的答案
  • @dasdingonesin 什么?你和 OP 做同样的问题?
  • @GameOfThrows 不。我只是想让 OP 的生活更轻松,因为当他发现逐字复制此答案中的代码不会得到他时,他可以减轻发表这样的评论的负担他的家庭作业的任何分数。
猜你喜欢
  • 2021-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
相关资源
最近更新 更多