필터 지우기
필터 지우기

Synchronize timetables stored in a structure

조회 수: 5 (최근 30일)
Giovanni Barbarossa
Giovanni Barbarossa 2023년 7월 30일
댓글: Giovanni Barbarossa 2023년 7월 31일
I have a structure S with N fields F_1 to F_N. Each field stores a timetable T_1 to T_N, respectively. How do I synchronize the timetables and keep them in the same structure?
  댓글 수: 4
Walter Roberson
Walter Roberson 2023년 7월 30일
I am not currently convince that you want to synchronize().
I suspect that what you want to do is to retime() all of them to the same timestamps (the ones available for T_1)
Giovanni Barbarossa
Giovanni Barbarossa 2023년 7월 31일
Thank you very much for your attention. Initially, all timetables may only have either a) the same exact number of timestamps of T_1 or b) a smaller number of timestamps than T_1. All timetables have the same timestamp increment (1 minute). In either case a) or b), all timetables have timestamps in between or equal to the first and the last timestamp of T_1. The objective of the synchronization or the retiming (we'll figure out which one I need) is to end up with all timetables in the structure having the same number of timestamps of T_1 and between the first and the last timestamp of T_1. The data corresponding to the missing timestamps, if any, would have to be filled through linear interpolation. I do realize my first question was ambigous. Thank you.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2023년 7월 30일
One possible interpretation of your question:
Sc = struct2cell(S);
joint = sortrows(vertcat(Sc{:}));
synchronized = structfun(@(F) synchronize(F, joint, 'union'), S, 'uniform', 0);
This (tries to) synchronize each of the timetables against all of the other ones, by combining all of them together into one and synchronizing against that.
  댓글 수: 2
Walter Roberson
Walter Roberson 2023년 7월 31일
NT1 = S.T_1.Properties.RowTimes;
Retimed = structfun(@(F) retime(F, NT1, 'linear', 'EndValues', 'linear'), S, 'uniform', 0);
Giovanni Barbarossa
Giovanni Barbarossa 2023년 7월 31일
Thank you. It works if I replace the 'linear' EndValues with 'extrap'.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Timetables에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by