Need help with datenum function

조회 수: 1 (최근 30일)
Adhi Ariawan
Adhi Ariawan 2017년 11월 29일
댓글: Star Strider 2017년 11월 29일
I'm using Matlab R2015b. I have "date" variable ( 178x1 cell ) inside a struct named "data". It consists of one column with multiple rows that consists of dates in dd/mm/yyyy format. Now I'm trying to convert them into numbers using datenum command,
dates = datenum(data.date, 'dd/mm/yyyy');
but it returns me with error.. What am I doing wrong? I've attached a screenshot of what the data looks like. Thanks in advance.
  댓글 수: 1
Adhi Ariawan
Adhi Ariawan 2017년 11월 29일
Additional note: I noticed I have non-date data on the first row.. How do I treat the first row as NaN data?

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2017년 11월 29일
Note that the first row is the string ‘date’. The datenum function will fail on that, so start with the second row instead.
  댓글 수: 4
Adhi Ariawan
Adhi Ariawan 2017년 11월 29일
Sorry to bother again, your solution was great, but after using (2:end) I'm facing another problem:
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
I got that error when trying to process the new 'date' with the other data inside of struct. So I was wondering if we can keep the first row as NaN or something. Thanks again.
Star Strider
Star Strider 2017년 11월 29일
My pleasure.
You have to use 2:end with every column.
No worries!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Peter Perkins
Peter Perkins 2017년 11월 29일
If you have R2015b, you will likely be happioer using datetimes rather than datenums:
dates = datetime(data.date(2:end),'Format','dd/mm/yyyy')
You may also want to use a table, rather than a scalar struct, but hard to say without seeing more.

카테고리

Help CenterFile Exchange에서 Time Series Objects에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by