2

次のように、ディレクトリ内のすべてのファイルを文字列の配列として保存しようとしています。

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;

私は何を間違っていますか?ありがとう!

4

3 に答える 3

1

この解決策を確認してください

path       = fullfile('D:', 'subject', '01', '*.gdf');
files      = dir(path);
files      = struct2cell(files);
files      = files( 1, 1:end );
于 2013-01-20T16:45:44.953 に答える
1

エラーの理由:

-th に文字列 (配列)を代入しようとしてfilesいます。ただし、配列要素の割り当て (丸括弧) を使用しています。したがって、エラーが発生ます。ichargdffiles(i).name() charfiles(i)

可能な解決策:

  1. は配列であるfilesため、中括弧を使用して割り当てる必要があります。filescell

    files{i} = gdffiles(i).name;
    
  2. 次の方法で、ループなしで同じ結果を得ることができます。

    files = { gdffiles(:).name };
    
于 2013-01-20T16:47:19.807 に答える
0

これを試しましたか:

ListOfAllFiles = ls('*.gif')

それが役に立てば幸い

于 2013-01-20T17:05:20.513 に答える