我正在尝试使用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);
我该如何解决这个问题?
答案 0 :(得分:0)
当您尝试对已经实例化为非单元格类型的变量进行单元格分配时,通常会出现此错误。
最有可能的是,在您的代码中较早的某处,您将data
初始化为矩阵,而您现在正尝试将其作为单元格类型进行处理。
要快速测试此理论,请尝试使用此略微修改的代码,以确保在您尝试解决此问题时将data
初始化为单元格类型。
data = cell(1);
for i = 1:5
filename = sprintf('data-%d.txt', i);
data{i} = importdata(filename);
end