Open multiple timetables within an array into one matrix

5 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Turlough Hughes
Turlough Hughes am 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.

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by