Plot serial date of excel into MATLAB

1 visualización (últimos 30 días)
Md Mizanur Raihan
Md Mizanur Raihan el 6 de Oct. de 2020
Respondida: Seth Furman el 22 de Oct. de 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 comentarios
Sudhakar Shinde
Sudhakar Shinde el 6 de Oct. de 2020
Editada: Sudhakar Shinde el 6 de Oct. de 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 el 6 de Oct. de 2020
It is showing as output

Iniciar sesión para comentar.

Respuestas (2)

Star Strider
Star Strider el 6 de Oct. de 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 el 22 de Oct. de 2020
Do also prefer using readtable and readtimetable as opposed to xlsread.

Categorías

Más información sobre Time Series Objects en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by