提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
前言
提示:這里可以添加本文要記錄的大概內容:
在處理帶時間標簽的數(shù)據時,往往需要對數(shù)據進行篩選,本文將介紹一下利用matlab根據時間標簽對數(shù)據進行篩選的一種方法。
提示:以下是本篇文章正文內容,下面案例可供參考
一、準備工作
運行環(huán)境:Matlab2020a
準備數(shù)據:示例數(shù)據附帶下載鏈接百度網盤下載鏈接。
二、過程
1.加載數(shù)據
代碼如下(示例):
%% 清除環(huán)境變量
clc;
clear all;
close all;
% %% 加載數(shù)據
[number,txt,raw]=xlsread(strcat(file(i).folder, '\', file(i).name),1);
2.讀入數(shù)據
代碼如下(示例):
%% 加載數(shù)據
[filename,pathname]=uigetfile('*.xls');%打開文件夾下面的xls格式的文件
[number,txt,raw]=xlsread(filename);%number為double型數(shù)據;txt為文本型數(shù)據;raw為合并型數(shù)據
2.1 數(shù)據提取
由于.xls格式存儲數(shù)據可能為cell類型或char類型,無法識別,因此需要對其進行數(shù)據類型轉換。
%% 數(shù)據轉換
data1=raw(2:end,3);
data2=raw(2:end,4);
data1=cellfun(@str2num,data1);
data2=cellfun(@str2num,data2);
2.2 時間數(shù)據轉換
由于時間存儲的txt文本格式,因此也需要對其轉換為datetime格式。
%% 時間格式轉換
time=raw(2:end,2);
time=datetime(time,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS');%轉換為datetime格式
shuju=datevec(time);%利用datevec函數(shù)將時間轉換為矩陣
文章來源:http://www.zghlxwxcb.cn/news/detail-521615.html
2.3時間數(shù)據提取
%% 特定時間及數(shù)據提取
%以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利用時間標簽對數(shù)據的篩選的使用方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-521615.html
附錄
%% 清除環(huán)境變量
warning off;
clc;
clear all;
close all;
%% 加載數(shù)據
[filename,pathname]=uigetfile('*.xls');%打開文件夾下面的xls格式的文件
[number,txt,raw]=xlsread(filename);
%% 數(shù)據轉換
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);
%% 特定時間及數(shù)據提取
%以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根據時間列篩選到特定時間段(小時、天、月、年)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!