matlab 处理数据,使用Matlab处理半小时数据为日数据

这篇博客介绍了如何使用Matlab处理半小时的温度和辐射数据,将其转换为日数据。通过读取Excel文件,对特定列进行条件筛选,然后对数据进行累加或平均操作,最终将数据整合成16天的平均值或总和。
摘要由CSDN通过智能技术生成

需求

现有一份半小时数据,需合成日数据。

以一个站点的一年温度和辐射数据为例,第二列为月份,第三列为日,第六列为辐射,第八列为温度。

代码

%by yang,2019.4

%% 处理flux站点30分钟光合有效辐射数据

% 将半小时累加为日值

par = xlsread('flux_30_climate.xlsx','DX2004');

for i=1:12 %12个月

for j=1:31 %先假设每个月都有31天

m = find(par(:,2)==i & par(:,3)==j); %寻找par第2列为i并且第3列为j的行号,保存为m

A{1,i}(j,1)=sum(par(m,6)); %A为每个月一个元胞,第6列为辐射数据

end

end

%将元胞转为矩阵,并删除0元素(那些不足31天的)

par_d = cell2mat(A); %元胞转为矩阵

par_d((par_d==0))=[]; %删除0元素

par_d = (par_d*30*60/1000000/4.57)'; %单位转换,1mol=1000000umol,1MJ=4.57mol,转为一列

% 将日数据合成16天数据

N=ceil(366/16); %N为365除以16取大于商的最小整数

for i = 1:N-1

par_16d(i,1) = sum(par_d(1+16*(i-1):16*i,1)); %

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值