我正在尝试将目录中的所有文件保存为字符串数组,如下所示:
files = {'hello.gdf'; 'hello2.gdf'...; ... 'etc.gdf'}
由于我有很多目录,我想自动执行此操作。这是我的代码:
gdffiles = dir(fullfile('D:', 'subject', '01', '*.gdf'))
for i=1:size(gdffiles)
files(i) = gdffiles(i).name;
end
我想将files
分配给找到的gdf文件的名称,但我收到此消息:
??? Subscripted assignment dimension mismatch.
Error in ==> getFiles at 3
files(i) = gdffiles(i).name;
我做错了什么?谢谢!
答案 0 :(得分:1)
检查此解决方案
path = fullfile('D:', 'subject', '01', '*.gdf');
files = dir(path);
files = struct2cell(files);
files = files( 1, 1:end );
答案 1 :(得分:1)
错误原因:
您尝试在files
中分配i
- 字符串(char
数组)gdffiles(i).name
。但是,您正在使用数组元素赋值(圆括号()
)。因此,您会收到错误消息:您只能使用char
分配单个 files(i)
。
可能的解决方案:
您应该使用花括号分配给files
- 因为files
是cell
数组:
files{i} = gdffiles(i).name;
您可以通过以下方式获得相同的结果:
files = { gdffiles(:).name };
答案 2 :(得分:0)
你试过这个:
ListOfAllFiles = ls('*.gif')
希望有所帮助