how to modify a structure?
Mostrar comentarios más antiguos
Hello. I initialize (instantiate) a structure like this:
YourStruct = struct(...
'Date', {cell(2208,1)}, ...
'Hour', {zeros(2208,1)}, ...
'DryBulb', {zeros(2208,1)}, ...
'DewPnt', {zeros(2208,1)}, ...
'SYSLoad', {zeros(2208,1)}, ...
'NumDate', {zeros(2208,1)});
'Date' has 92 days, and 'Hour' has 24 hours, from 1 to 24. How can I express 'Date' and 'Hour' in serial date numbers and how do I present these serial date numbers in 'NumDate'? Thank you.
7 comentarios
Image Analyst
el 16 de Sept. de 2012
Please format properly (as Code).
UPT
el 16 de Sept. de 2012
UPT
el 16 de Sept. de 2012
Walter Roberson
el 16 de Sept. de 2012
Please go back and edit your original posting to mark-up the code there.
Note: there is no "i" in my username.
UPT
el 16 de Sept. de 2012
Editada: Oleg Komarov
el 16 de Sept. de 2012
Walter Roberson
el 16 de Sept. de 2012
Blank line before and after the code. Indent the code.
Respuestas (1)
Walter Roberson
el 16 de Sept. de 2012
NumDate = Data.Date + (Data.Hour - 1) / 24;
5 comentarios
Walter Roberson
el 16 de Sept. de 2012
Wait -- what exactly does the Date cell contain?
UPT
el 16 de Sept. de 2012
Walter Roberson
el 16 de Sept. de 2012
As strings? If so then use datenum() to convert them to serial date numbers and add (Hour-1)/24
UPT
el 17 de Sept. de 2012
Walter Roberson
el 17 de Sept. de 2012
Your Hour field is the same length as your Date field, which suggests you want exactly 1 hour conversion for each Date converted, rather than wanting to create 24 hour conversions for each Date converted.
data.NumDate = datenum(Data.Date) + (Data.Hour - 1) / 24;
except that you might need to add an additional parameter to datenum() in order to indicate the date format.
Categorías
Más información sobre Dates and Time en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!