matlab根据时间列筛选到特定时间段(小时、天、月、年) |
您所在的位置:网站首页 › if函数条件时间低于一定时间 › matlab根据时间列筛选到特定时间段(小时、天、月、年) |
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、准备工作二、过程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 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |