CELL2MAT does not support cell arrays containing cell arrays or objects
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am writing a function and it worked fine until I made a tweak it a pit then I got the above error
path1 = '/Users/punk/Documents/Data/PO3/';
path2 = '*.HWR';
direc = struct2table(dir([fullfile(path1,path2)]));
direc = sortrows(direc,'date');
table2struct(direc);
filenames = {direc.name};
for trialnumber = 1:length(filenames);
filename = filenames{trialnumber};
data = dlmread(fullfile(path1, num2str(cell2mat(filenames(trialnumber)))),'',1,0);
But I am getting this error
Error using cell2mat
CELL2MAT does not support cell arrays containing cell arrays or objects.
Error in Complete (line 38)
data = readtable(fullfile(path1, num2str(cell2mat(filenames(trialnumber)))),'',1,0);
3 Kommentare
Walter Roberson
am 13 Feb. 2023
You have mixed up the syntax of readtable() and dlmread() . When you use readtable(), unless the second parameter is an options object such as SpreadsheetImportOptions object, then everything after the first parameter must be name-value pairs. That might include 'NumHeaderLines' option -- but more likely considering you are using dlmread() is that your first row is headers, and you probably do not want to skip those when you readtable() as the header supplies the variable names.
Also, your filename is already a character vector; why are you using num2str() with it?
Antworten (1)
Jan
am 11 Feb. 2023
table2struct(direc);
This line converts the table direc to a struct, but ignores the result. In consequence this line has no effect.
Simplify your code by avoiding the useless conversion to table and back again:
path1 = '/Users/punk/Documents/Data/PO3/';
path2 = '*.HWR';
direc = dir(fullfile(path1, path2))); % No need for a concatenation with []
[~, idx] = sort([direc.datenum]);
direc = direc(index);
But what is "filenames" and "trialnumber"? Maybe you mean:
data = dlmread(fullfile(path1, direc(trialnumber).name), '', 1, 0);
0 Kommentare
Siehe auch
Kategorien
Mehr zu System Composer 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!