0

私はMATLABの使用の初心者です。7年間の波高と風のデータを示す17列のデータがあります。最初の4列は、それぞれ年(2005-2011)、月、日、および時間です。そして次の列はそれぞれの録音です。

これらの列をプロットするための便利なスクリプトをここで見つけました。

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軸の風速とX軸の年(2005-2011)で構成されています。そして、私は毎年の平均風速を見つけなければなりません。誰か助けてくれませんか。

ありがとう。

4

2 に答える 2

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
于 2013-02-26T13:08:52.493 に答える
1

各年に同じ数の値があり、それらが順番に並んでいる場合 (たとえば、最初に 2005 年のすべての値、次に 2006 年のすべての値...)、reshape を使用できます。

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

それ以外の場合は、毎年計算できます。

mean(y1(x==2005))
于 2013-02-26T13:26:23.207 に答える