Open multiple timetables within an array into one matrix

3 次查看(过去 30 天)
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.

采纳的回答

David Hill
David Hill 2022-2-3
A simple loop should do the trick.
T=yourCell{1};
for k=2:length(yourCell)
T=[T;yourCell{k}];
end

更多回答(1 个)

Turlough Hughes
Turlough Hughes 2022-2-3
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.

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by