Conversion to cell from double is not possible
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
OCDER
2018 年 5 月 22 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!