Conversion to cell from double is not possible
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Stephen Thompson
am 22 Mai 2018
Beantwortet: OCDER
am 22 Mai 2018
I don't understand why I am getting this error.
1. This works...
onset_time_first = cell(ratio_channels,4);
onset_time_first (:, 1) = cellfun(@(x,y,z)(cusum(x, climit, mshift, y, z)), beta_cell(:, 1), beta_cell (:, 2), beta_cell (:, 3), 'UniformOutput', false);
Here beta_cell is a 189x3 cell. This is repeated 3 more times.
2. This does not work...
onset_time_second = cell(ratio_channels,4);
onset_time_second (:, 1) = cellfun(@(x)(findchangepts(x, 'Statistic', 'mean')), beta_cell_second);
Here beta_cell_second is a 189x1 cell. This is repeated 3 more times.
The syntax is identical but the first works and the second doesn't. It doesn't help to add "beta_cell_second(:))"
0 Kommentare
Akzeptierte Antwort
OCDER
am 22 Mai 2018
If you want the output to be a cell in the case 2, you have to do this
onset_time_second = cell(ratio_channels,4);
onset_time_second (:, 1) = cellfun(@(x)(findchangepts(x, 'Statistic', 'mean')), beta_cell_second, 'UniformOutput', false)
To help you understand, try this:
A = num2cell(1:10);
O = cell(1, 10);
B = cellfun(@(x) x(1), A); %Returns double matrix
C = cellfun(@(x) x(1), A, 'un', 0); %Returns cell array
O(:) = B; %ERROR! Conversion to cell from double is not possible
O(:) = C; %OKAY!
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!