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
给我错误,如
使用dir时出错 路径无效。该路径不得包含空字符。
read_c3d_feat(第12行)中的错误
feat_files = dir([dir_str, '/*.res5b']);
答案 0 :(得分:0)
您的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
是文本条目的单元格,则应使用大括号对其进行索引,如上所述。如果它是一个矩阵(因为所有条目似乎都是数字),那么在传递给num2str
时你应该使用dir
:
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']);
% ...