Union WITH repetitions - indices for both
6 views (last 30 days)
Show older comments
How can this be achieved? I am trying to index trading days and calendar days so I can match the two together. Here is my code:
tradeDates=tradeDates(:,1); % grab trading days
calDays=datetime([2008,08,25])+caldays(0:2522)'; % grab calendar days
calDays=yyyymmdd(calDays); % convert to yyymmdd format
[C,ia,ib]=union(tradeDates,calDays); % set union of arrays
Thank you.
0 Comments
Answers (1)
Walter Roberson
on 30 Jul 2015
C = union(tradeDates,calDays);
[tf, idxtrade] = ismember(C, tradeDates);
[tf, idxcal] = ismember(calDays, C);
2 Comments
Walter Roberson
on 30 Jul 2015
Sorry I was inconsistent there as I was trying both ways and forgot to edit properly.
C = union(tradeDates,calDays);
[tf, idxtrade] = ismember(tradeDates, C);
[tf, idxcal] = ismember(calDays, C);
idxtrade(K) will be the index of tradeDates(K) within the union C, and idxcal(L) will be the index of calDays(L) within C.
I found it ambiguous as to what you wanted the result to be, the index of what into which?
See Also
Categories
Find more on Time Series Objects in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!