Save struct indexed name as a variable
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Daniel Grebler
le 3 Déc 2017
Commenté : Daniel Grebler
le 4 Déc 2017
This may sound Weird, Yet I need to save a struct index string as a variable. reason:The struct is formed as a query request for stock values - and in order to draw a valid graph the date is needed - the Date is the name of the struct Struct:
% code
end
stock.TimeSeries_Daily_
% Within
stock.TimeSeries_Daily_
% the struct continues as:
stock.TimeSeries_Daily_.x2017_12_01,
stock.TimeSeries_Daily_.x2017_11_30,
stock.TimeSeries_Daily_.x2017_11_29,
stock.TimeSeries_Daily_.x2017_11_28,
stock.TimeSeries_Daily_.x2017_11_27
and so on
Within final struct I get the needed value
Yet I need a variable to hold:
if true
% code
end
2017_11_30
2017_11_29
2017_11_28
and so on..
meaning I need to save the "name" of the struct into a different varible
How do I do this??
Thank you in Advance
2 commentaires
Stephen23
le 4 Déc 2017
This is rather awkward. Just use indexing, and store the date as data in its own right:
stock.TimeSeries_Daily(1).date = ...
stock.TimeSeries_Daily(2).date = ...
Or put the dates into one array. Why do you need to put the meta-data into the fieldnames?
Réponse acceptée
Jos (10584)
le 3 Déc 2017
You can use FIELDNAMES:
FN = fieldnames(stock.TimeSeries_Daily_)
% process these names in more common date formats using datenum and datestr
num = datenum(FN,'xyyyy_mm_dd')
str = datestr(num,'yyyymmdd')
Plus de réponses (1)
Steven Lord
le 4 Déc 2017
Are you required to store your data in this format? If you're using release R2016b or later I recommend using a timetable array instead. If you do store your data in a timetable named TT, you can access the list of times using:
TT.Properties.RowTimes
0 commentaires
Voir également
Catégories
En savoir plus sur Calendar dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!