2016-08-16 2 views
-5

У меня есть лист excel из 41 столбца и 513 строк. Я хочу использовать цикл, который будет вычислять среднее из 4 столбцов. Интервал равен i = 2: 4: 41. Мне нужна помощь в записи цикла.для цикла для вычисления среднего значения

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

Нужна помощь по формуле.

+3

Нужна помощь с вашей домашней работой? Как насчет того, чтобы попробовать себя и вернуться с базовым кодом? – GameOfThrows

+0

Я уже сделал свою домашнюю домашнюю работу. Тем не менее, я застрял, поэтому вопрос был поднят. – Sai

+2

@ Саи в общих домашних заданиях не поощряются при переполнении стека, если они не сопровождаются надлежащей попыткой и хорошо написанным вопросом о вопросе, где проблема. Я во всяком случае позволил себе написать короткий фрагмент кода, попытаться научиться этому. Я не буду объяснять вам все подробно, так как вам все равно нужно научиться писать такие коды, как эти, для своего класса. – Adriaan

ответ

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.

+0

Я думал, что он «нуждается в помощи с формулой» - должен был просто написать '(V (1) + V (2) + V (3) + V (4))/4' хороший ответ тем не менее – GameOfThrows

+0

@ dasdingonesin Что? Вы делаете тот же вопрос, что и OP? – GameOfThrows

+0

@GameOfThrows Нет. Я просто хотел облегчить жизнь OP, освободив его от нагрузки, чтобы опубликовать комментарий, подобный этому, когда он узнает, что стенографическое копирование кода в этом ответе не даст ему никаких пунктов в его домашнем задании. – dasdingonesin

Смежные вопросы