matlab根据时间列筛选到特定时间段(小时、天、月、年)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在处理带时间标签的数据时,往往需要对数据进行筛选,本文将介绍一下利用matlab根据时间标签对数据进行筛选的一种方法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备工作

运行环境:Matlab2020a
准备数据:示例数据附带下载链接百度网盘下载链接

二、过程

1.加载数据

代码如下(示例):

%% 清除环境变量
clc;
clear all;
close all;
% %% 加载数据
[number,txt,raw]=xlsread(strcat(file(i).folder, '\', file(i).name),1);

2.读入数据

代码如下(示例):

%% 加载数据
[filename,pathname]=uigetfile('*.xls');%打开文件夹下面的xls格式的文件
[number,txt,raw]=xlsread(filename);%number为double型数据;txt为文本型数据;raw为合并型数据

工作变量

2.1 数据提取

由于.xls格式存储数据可能为cell类型或char类型,无法识别,因此需要对其进行数据类型转换。

%% 数据转换
data1=raw(2:end,3);
data2=raw(2:end,4);
data1=cellfun(@str2num,data1);
data2=cellfun(@str2num,data2);

2.2 时间数据转换

由于时间存储的txt文本格式,因此也需要对其转换为datetime格式。

%% 时间格式转换
time=raw(2:end,2);
time=datetime(time,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS');%转换为datetime格式
shuju=datevec(time);%利用datevec函数将时间转换为矩阵

在这里插入图片描述

2.3时间数据提取

%% 特定时间及数据提取
%以2022年8月11日的data1和data2
m=1;
for i=1:size(shuju,1)
    if shuju(i,1)==2022&&shuju(i,2)==8&&shuju(i,3)==11
        need_data(m,:)=[data1(i) data2(i)];
        m=m+1;
    end
end

总结

本文简单介绍了matlab利用时间标签对数据的筛选的使用方法。

附录

%% 清除环境变量
warning off;
clc;
clear all;
close all;
%% 加载数据
[filename,pathname]=uigetfile('*.xls');%打开文件夹下面的xls格式的文件
[number,txt,raw]=xlsread(filename);
%% 数据转换
data1=raw(2:end,3);
data2=raw(2:end,4);
data1=cellfun(@str2num,data1);
data2=cellfun(@str2num,data2);
%% 时间格式转换
time=raw(2:end,2);
time=datetime(time,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS');
shuju=datevec(time);
%% 特定时间及数据提取
%以2022年8月11日的data1和data2
m=1;
for i=1:size(shuju,1)
    if shuju(i,1)==2022&&shuju(i,2)==8&&shuju(i,3)==11
        need_data(m,:)=[data1(i) data2(i)];
        m=m+1;
    end
end
  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值