具有多个文件的MATLAB导入数据

具有多个文件的MATLAB导入数据,matlab,octave,Matlab,Octave,我正在尝试使用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} = imp

我正在尝试使用
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);

如何解决此问题?

当您试图为已实例化为非单元格类型的变量分配单元格时,通常会出现此错误

最有可能的是,在代码的早期某个地方,您将
数据
初始化为一个矩阵,现在您正试图对其进行寻址,就好像它是一个单元格类型一样

要快速测试这一理论,请尝试此稍加修改的代码,以确保在尝试寻址时,
数据
将被初始化为单元格类型

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