Plot serial date of excel into MATLAB

1 visualizzazione (ultimi 30 giorni)
Md Mizanur Raihan
Md Mizanur Raihan il 6 Ott 2020
Risposto: Seth Furman il 22 Ott 2020
Hi, WOuld you please help me? 1st column represents serial date like year 2001 month 12 and date 16 and second coulm represents height. I would like to run and plot my data in following format:
data_set=xlsread('h100.xlsx');
figure;
plot(data_set(:,1),data_set(:,2));
grid on;
xlim([datenum('1 oct 2010') datenum('1 dec 2010')])
datetick('keeplimits')
xlabel('Time Series');
ylabel('Tidal heights');
title('Original Data Set (Richard Bay, SA)');
.
  2 Commenti
Sudhakar Shinde
Sudhakar Shinde il 6 Ott 2020
Modificato: Sudhakar Shinde il 6 Ott 2020
What is the error you observed?
You can use date from excel sheet column 1.
x = datetime(data_set(:,1),'ConvertFrom','yyyymmdd');
plot(x,data_set(:,2));
Md Mizanur Raihan
Md Mizanur Raihan il 6 Ott 2020
It is showing as output

Accedi per commentare.

Risposte (2)

Star Strider
Star Strider il 6 Ott 2020
The first column is numeric representation of yyyymmdd so there are likely several ways to create a datetime array from it.
Try this:
data_set(:,1) = [20011216; 20011217];
ymdc = compose('%d',data_set(:,1));
ymd = datetime(ymdc, 'InputFormat','yyyyMMdd')
You can put those in one line if you want:
ymd = datetime(compose('%d',data_set(:,1)), 'InputFormat','yyyyMMdd')
.

Seth Furman
Seth Furman il 22 Ott 2020
Do also prefer using readtable and readtimetable as opposed to xlsread.

Categorie

Scopri di più su Time Series Objects in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by