sum of timetables for each months

6 views (last 30 days)
Martin
Martin on 10 Sep 2019
Commented: Martin on 11 Sep 2019
I got 2 timetables buses and cars like below. Does anyone know how to achieve the last table which sum each months?
buses =
2×2 timetable
Time Buses diesel
________ ________ ________
Aug-2019 5 890
Sep-2019 8 910
cars =
2×2 timetable
Time cars petrol
________ ________ ________
Aug-2019 10 45
Sep-2019 80 50
totalvehicles =
2×2 timetable
Time vehicles fuel
________ ________ ________
Aug-2019 15 1035
Sep-2019 88 960

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 10 Sep 2019
Buses = [5;8];
cars = [10;18];
Time = datetime(2019,[8;9],1);
buses = timetable(Time,Buses);
cars = timetable(Time,cars);
T = [cars,buses];
totalvehicles = rowfun(@(x,y)x + y,T,'OutputVariableNames','vehicles');
  2 Comments
Martin
Martin on 10 Sep 2019
Thanks, the problem however arise if there are more columns in the tables. I were looking for a more general idea. I update my topic

Sign in to comment.

More Answers (1)

dpb
dpb on 10 Sep 2019
totalvehicles=retime([buses;cars],'monthly',@sum);
  2 Comments
Martin
Martin on 10 Sep 2019
That wont work with different variables names
dpb
dpb on 11 Sep 2019
So, fix the variables names...
bus.Properties.VariableNames={'vehicles','fuel'};
car.Properties.VariableNames={'vehicles','fuel'};
>> retime([bus;car],'monthly',@sum)
ans =
2×2 timetable
Time vehicles fuel
___________ ________ ____
01-Aug-2019 15 935
01-Sep-2019 88 960
>>

Sign in to comment.

Categories

Find more on Timetables 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!