1

importdataデータがループの外で利用できるように、使用して MATLAB に複数のデータ ファイルをインポートしようとしています。

for i = 1:5
    filename = sprintf('data-%d.txt', i);
    data{i} = importdata(filename);
end

しかし、スクリプトは次のエラーを返します。

Cell contents assignment to a non-cell array object.

Error in process (line 12)
    data{i} = importdata(filename);

どうすればこれを修正できますか?

4

1 に答える 1

0

このエラーは通常、非セル型として既にインスタンス化されている変数にセルを割り当てようとしたときに表示されます。

おそらく、コードのどこかでdataマトリックスとして初期化し、セル タイプであるかのようにアドレス指定しようとしている可能性があります。

この理論をすばやくテストするにはdata、アドレスを指定しようとしたときにセル タイプとして確実に初期化されるように、わずかに変更されたこのコードを試してください。

data = cell(1);
for i = 1:5
    filename = sprintf('data-%d.txt', i);
    data{i} = importdata(filename);
end
于 2013-04-30T20:49:56.187 に答える