function []= read_c3d_feat(output_list_relative)
dir_list = importdata(output_list_relative);
dim_feat = 512;
for i = 1 : size(dir_list, 1)
dir_str = char(dir_list(i));
feat_files = dir([dir_str, '/*.res5b']);
num_feat = length(feat_files);
feat = zeros(num_feat, dim_feat);
for j = 1 : num_feat
feat_path = strcat(dir_str, '/', feat_files(j).name);
...............
....................so on
给我这样的错误
使用目录时出错路径无效。路径不得包含空字符。
read_c3d_feat错误(第 12 行(
feat_files = dir([dir_str, '/*.res5b']);
您的dir_list
变量必须包含包含空字符的字符串,正如错误告诉您的那样。如果您尝试使用硬编码字符串,您将看到它有效:
function read_c3d_feat(output_list_relative)
dir_list = {'21';'45';'18'};
for i = 1:size(dir_list, 1)
dir_str = dir_list{i}; % Loops through '21','45','18'
% The dir function now works because we know dir_str is a valid string
feat_files = dir([dir_str, '/*.res5b']);
end
end
这意味着您需要调试代码并找出此行实际分配给dir_list
的内容:
dir_list = importdata(output_list_relative);
请注意,如果dir_list
是文本条目的单元格,则应如上所述使用大括号对其进行索引。如果它是一个矩阵(因为无论如何所有条目似乎都是数字(,那么在传递给dir
时应该使用 num2str
:
function read_c3d_feat(output_list_relative)
dir_list = importdata(output_list_relative);
dim_feat = 512;
for i = 1:size(dir_list, 1)
feat_files = dir([num2str(dir_list(i)), '/*.res5b']);
% ...