Need help with datenum function

1 次查看(过去 30 天)
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 中查找有关 Dates and Time 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by