Converting data contained in a cell array into a 4D matrix for input into a CNN for feature extraction

2 次查看(过去 30 天)
Hi All,
I am working with EMG data and trying to use a CNN to extract features from the raw signal
I currently have the latest version of Matlab 2021a
XTrain (453x1 cell array) each cell conatins a sample signal (8*213) so to clairfy that is 453 samples and each sample contains 8 channel sequence with 213 data points
From the reading i have done this needs to be converted in to a 4D matrix to be acceptable for a CNN
I thought his would work based on an example set of code i found:
XTrain = reshape(XTrain,[8,213,1,453])
but i am getting errors:
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size for that
dimension.
I am not really sure how to make this work now. I have tried using empty [] in place of some of the dimensions but this has not worked either.
Any help would be appreciated
Kind Regards

采纳的回答

KSSV
KSSV 2021-6-8
XTrain = cat(3,XTrain{:}) ;
XTrain = reshape(XTrain,8,213,1,453) ;
  3 个评论
KSSV
KSSV 2021-6-8
% Demo with dummy data
XTrain = cell(453,1) ;
for i = 1:453
XTrain{i} = rand(8,213) ;
end
XTrain = cat(3,XTrain{:}) ;
XTrain = reshape(XTrain,8,213,1,453) ;

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by