在 Matlab 中加载单元格



我在计算机内存中保存了一个名为data.mat的Matlab文件。该文件的结构为尺寸为13x1的单元格。为了保存文件,我使用了命令save('data.mat', 'data').

现在,我想加载文件并对其进行转换。

这就是我目前正在做的事情

%Load data
load data
%Transform data
for n=1:13
data{n}(:,1)=rand(10,1); %replace first column
end

但是,我在 Matlab 脚本上收到一条警告消息: ">变量数据似乎在每次循环迭代时都会改变大小。考虑预先分配速度"。

简而言之,脚本无法识别我已加载单元格。

我该如何解决这个问题?这不是一条错误消息,Matlab 在运行代码时表现良好。我只想删除警告的东西。

您收到此警告是因为编辑器无法知道变量data在从 MAT 文件加载之前将具有什么格式。由于未定义data,因此它可能假定您从头开始制作并发出警告。如果您确定不会增加单元格阵列(即您只会修改现有单元格(,您可以通过将其添加为该行的第一条注释来禁止显示警告:

%#ok<SAGROW>

或者右键单击突出显示的单词data并选择选项"抑制..在这一行",这将为您添加评论。

有关此内容的更多信息,请参阅文档。

最新更新