在微氣象觀測中,經常會需要對短時間內相同時段的資料做分類匯總,但是由于Excel并不支持隔項分類匯總功能,筆者寫了一段小代碼來實作這個功能,
- 待處理資料

5月到9月每天相同時段(0-23時)做匯總平均值
- 代碼
S=table2array(data);
匯入名為data的資料,table轉array是所有通過“匯入資料”功能進行資料處理的必要步驟
for t=0:23
hour=S(:,3)';
O3=S(:,4)';
hour-資料中第三列為小時(分類項),并轉置為行向量
O3-資料中第四列為臭氧濃度(匯總項),并轉置為行向量
ind=find(hour==t);
O3hour=O3(ind);
O3hour_mean=mean(O3hour)
利用find函式,查找與t相同的hour所在索引,ind同樣為陣列
此處[參考文章],但事實上,find函式在引數==0時也可以查找0值(https://blog.csdn.net/Marvelous_Morty/article/details/96432373?utm_source=app&app_version=4.16.0&code=app_1562916241&uLinkId=usr1mkqgl919blen)
O3hour為根據索引ind陣列查找O3中對應的值,并利用mean函式輸出一個時段的平均值
result(t+1)=O3hour_mean;
end
result_=result'
xlswrite('station_ozone_hour_mean.xls',result_);
因為MATLAB陣列是從1開始,而我們的t是0-23,所以此處需要(t+1)將各個時段的O3mean寫入陣列result
為了方便,轉置為列向量
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/333568.html
標籤:AI
