2013-02-26 1 views
0

Я начинаю использовать MATLAB. У меня есть данные, которые содержат 17 столбцов, показывающих высоты волн и данные ветра в течение 7 лет. Первые 4 столбца - это годы (2005-2011), месяц, день и час соответственно. И следующие столбцы - соответствующие записи.Данные Matlab: среднее значение для каждого столбца в графике

Здесь я нашел полезный скрипт для построения этих столбцов.

fid = fopen('wam1.txt','r'); 
C = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','headerlines',4,'commentstyle','--'); 
fclose(fid); 
x = C{1}; y1 = C{5}; y2 = C{3}; 
plot(x,y1) 

Теперь график состоит из (например) скорости ветра по оси Y и году (2005-2011 гг.) По оси X. И я должен найти среднее значение скорости ветра на каждый год. Не мог бы кто-нибудь мне помочь.

Спасибо.

+1

Если у вас есть вектор, и вы хотите, чтобы найти среднее значение каждой строки попробовать среднее (A, 2). Если вы хотите найти среднее значение только для последних столбцов, тогда означают (A (:, 5: end), 2). – Dan

ответ

1

Как вы видите, для построения значений y1 решение будет очень простым.

mean(y1) 

Дает вам среднее значение y1.

Если вы хотите сделать это по годам, это позволит вам проходить через годы и хранить среднее значение в векторе под названием result.

count = 0; 
for t = unique(x) 
    count = count+1; 
    result(count) = mean(y1(x==t)); % Or just result(t) 
end 
result 
+0

Спасибо! Проблема в том, что мне нужно найти среднее значение для «каждый год», а это невозможно с помощью среднего (y1), так как оно представляет среднее значение всего набора данных независимо от года. –

+0

@RohitKulkarni Я обновил свой пост, не имел возможности проверить, но это должно делать то, что вам нужно. –

1

Если есть такое же количество значений для каждого года, и они в порядке (например, все значения за 2005 год, а затем все значения за 2006 год ...) можно использовать Reshape:

y1 = reshape(y1,365,7); mean(y1) 

в противном случае, вы можете рассчитать для каждого года:

mean(y1(x==2005)) 
+0

Если данные достаточно структурированы, первое решение, упомянутое здесь, является, безусловно, способом выхода. –

+0

Спасибо! Значения в порядке, но они различаются для каждого года. Я проверил и метод, данный @DennisJaheruddin, и вы отлично работаете. –

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

  • Нет связанных вопросов^_^