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

1 次查看(过去 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 中查找有关 Multirate Signal Processing 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by