1

我正在尝试通过使用在 MATLAB 中导入多个数据文件,importdata以便数据在循环外可用:

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 回答