Select year in timetable
51 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Luca Re
el 30 de Nov. de 2024 a las 8:39
hi,i want to select year in Pr_anno using range in TR
anno=load('matlab_ANNO.mat')
tr=load('matlab_TR.mat')
PR_anno:
01/01/2024 -1.356250000000000e+03
01/01/2025 0
TR:
Starting at, including: 01-Sep-2024 00:00:00
Ending at, but excluding: 29-Nov-2024 00:00:00
The interval in TR is from 01-Sep-2024 00:00:00 to 29-Nov-2024 00:00:00 then i want to selet only 2024 (not 2025)
result:
01/01/2024 -1.356250000000000e+03
3 comentarios
Respuesta aceptada
dpb
el 30 de Nov. de 2024 a las 14:44
Editada: dpb
el 30 de Nov. de 2024 a las 15:01
"How do I get the list of years in TR?"
A timerange object is opaque; there are no user functions to query one; it can only directly be used as a subscript into a timetable. Therefore, one has to go at it indirectly...
load('matlab_TR.mat')
S=struct(TR) % create a struct of the object's internals
yrsTR=year(S.first)
So, we query and dsplay the piece of interest in the struct to determine what the field names inside the object are and then extract the piece of data of interest.
"But I want to select the years in Pr_Year using the range of of Tr"
Create a new timerange with that year range--
TRyr=timerange(S.first,'years')
Note that even knowing the name of the TR object isn't enough--
TRyr=timerange(TR.first,'years')
fails. You're not allowed to ask the object itself and there are no associated methods to allow a direct query...that would seem to be a reasonable enhancement if TMW wouldn't want to go so far as to make the internals visible.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Timetables 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!