So I wanted to split the 1X15 cell to different cells.

1 view (last 30 days)
5.JPG
Yes this is a screenshot of a screenshot.
So I have a 1x15 cell
Each (cell)column is one channel so a total of 15 channels.
2nd screenshot is a 1st channel with 2 states.
So now i wanted to put each state of one channel into a seperate matrix or a cell(preferably a cell).The state changes from rest to active every 200th iteration and vice versa.
So new cell of channel 1 would contain 1 cell for with values for rest block and next cell for active block and so on.
so repeat this for 15 channels.
I have attached mat file of my data.
  3 Comments
CalebJones
CalebJones on 18 Sep 2019
I wanted to split it because i wanted calculate mean,slope,kurtosis,peak which i will use as my feature set for training my model.

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 18 Sep 2019
If you want to perform group statistics, the simplest is indeed to put everything in just one table:
allresults = vertcat(result{:}); %concatenate everything into one table
allresults.channel = repelem((1:numel(result))', cellfun(@height, result)); %and add a channel column
It's then trivial to calculate group statistics with groupsummary or grpstats:
stats = groupsummary(allresults, {'state', 'channel'}, {'mean', @kurtosis}); %not sure what you mean by slope and peak
  20 Comments
Guillaume
Guillaume on 23 Sep 2019
if numel(values) < 3
instead of
if isempty(values)
should fix it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!