CELL2MAT does not support cell arrays containing cell arrays or objects.

when I run CBPSpikesort (code) example,cbp_spikesort_demo_script.m, on 188 line
if (params.general.plot_diagnostics)
AmplitudeThresholdGUI(spike_amps, spike_times, amp_thresholds, ...
'dt', data_pp.dt, ...
'f', figure(params.plotting.first_fig_num+6), ...
'wfnorms', cellfun(@(wf) norm(wf), init_waveforms), ...
'location_slack', params.postproc.spike_location_slack);
end
Function AmplitudeThresholdGUI error. And I find that this error due to cell2mat function
if length(varargin) == 1, ax = varargin{1};
else ax = cell2mat(varargin); end
Error using cell2mat (line 52)
CELL2MAT does not support cell arrays containing cell arrays or objects.
varargin is a 1x2 cell with two 1x1 Axes. I dont know how to solve this problem.

Answers (1)

I would suggest using this instead of the entire if statement:
ax=[varargin{:}];
This will happily accept empty inputs, while your code would probably intend to throw an error. If you want an error, check for empty cells.

Categories

Tags

Asked:

on 16 Jan 2022

Answered:

Rik
on 16 Jan 2022

Community Treasure Hunt

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

Start Hunting!