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

您所在的位置:网站首页 excel根据指定日期提取对应数据 matlab根据时间列筛选到特定时间段(小时、天、月、年)

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

2024-07-11 02:58| 来源: 网络整理| 查看: 265

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

文章目录 前言一、准备工作二、过程1.加载数据2.读入数据2.1 数据提取2.2 时间数据转换2.3时间数据提取 总结附录

前言

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

在处理带时间标签的数据时,往往需要对数据进行筛选,本文将介绍一下利用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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3