How to save label in 1x1 categorical?
1 view (last 30 days)
Show older comments
I have .mat file which dimension is (1024x1) and i want to give name that .mat file in 1x1 categorical. when i load that .mat file the output shoud be
0 Comments
Answers (1)
Walter Roberson
on 20 Apr 2021
projectdir = '/path/to/files'; %could be '.'
dinfo = dir( fullfile(projectdir, '*.mat'));
filenames = fullfile({dinfo.folder}, {dinfo.name});
nfiles = length(filenames);
frames = cell(nfiles,1);
labels = cell(nfiles,1);
%do not assume that the variable names are the same for each time
for K = 1 : nfiles
thisfile = filenames{K};
[~, basename, ~] = fileparts(thisfile);
filestruct = load(thisfile);
fields = fieldnames(filestruct);
frames{K} = filestruct.(fields{1});
labels{K} = categorical(basename);
end
output = cell2struct([frames,labels], {'frame', 'label'}, 2);
The output will be a (number of files x 1) struct array with fields 'frame' and 'label'
See Also
Categories
Find more on Audio and Video Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!