Open multiple timetables within an array into one matrix

1 view (last 30 days)
Hello all, I am working on a filtering script for some CAN data I am collecting. Currently, my code takes data from multiple BLF files and stores the timetables from the blf files in an array. The files are all sequential meaning that Part zero starts at 0 seconds ends at 300 seconds, then part 1 starts at 300 and ends at 600 and so on. My question is how can I "expand" the timetables in the array to essenitally end up with one giant matrix. I've tried using m=matrixtm{:, :}; but that only opens one cell at a time, and I need all the cells open into one big matrix.

Accepted Answer

David Hill
David Hill on 3 Feb 2022
A simple loop should do the trick.
T=yourCell{1};
for k=2:length(yourCell)
T=[T;yourCell{k}];
end
  1 Comment
Maksim Sorin
Maksim Sorin on 3 Feb 2022
Thank you so much! No idea why i was struggling to figure this one out so much.

Sign in to comment.

More Answers (1)

Turlough Hughes
Turlough Hughes on 3 Feb 2022
Let's call the cell array data, then you can vertically concatentate as follows:
oneBigTable = vertcat(data{:});
If you want it as a matrix:
M = oneBigTable{:,:};
Note, M doesn't include the time data. If you want to add that in then I suggest that you use posixtime.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by