Removing weekends and holidays from a TimeTable

19 ビュー (過去 30 日間)
Andy
Andy 2018 年 3 月 14 日
コメント済み: Peter Perkins 2021 年 2 月 18 日
How can one remove weekends and holidays entries from a TimeTable?
Thanks!

採用された回答

Peter Perkins
Peter Perkins 2018 年 3 月 15 日
Weekends is simple:
TT = TT(~isweekend(TT.Time),:) % assumes the default name, Time, for the row times
Holidays are another story, but if you have a list of the ones you care about, use ismember on TT.Time. You may need to use dateshift to "round" to whole days, depending on what your data look like. Perhaps something like
ismember(dateshift(TT.Time,'start','day'),listOfHolidays)
Also, if you have access to the Financial Toolbox, you can use that to generate a list of dates to remove.
  4 件のコメント
Wolfgang McCormack
Wolfgang McCormack 2021 年 1 月 19 日
@Peter Perkins hi, how can i get the reverse of what you just did with weekends, How can I get rid of weekdays and keep the wekend only?
Peter Perkins
Peter Perkins 2021 年 2 月 18 日
Leave out the ~.

サインインしてコメントする。

その他の回答 (1 件)

Sonima
Sonima 2019 年 4 月 20 日
編集済み: Sonima 2019 年 4 月 20 日
Hi!
This works and remove the weekends from a TimeTable, but still gaps showed up on the plot!
TT = TT(~isweekend(TT.Time),:);
  1 件のコメント
Walter Roberson
Walter Roberson 2019 年 4 月 24 日
Yes, this is to be expected. plot() positions elements by relative numeric position, and the relative numeric position of Monday to Monday is 7 days not 5 days.
You could look in the File Exchange for the various "break plot" routines. Or... you could use a time axes that was some kind of relative business days apart measure and adjust the tick labels to the associated dates.
Either way, getting zoom and pan and data tips (datacursor) right is a nuisance

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCalendar についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by