在Matlab中加载单元格

时间:2017-08-24 16:03:26

标签: matlab

我已将Matlab文件保存在名为data.mat的计算机内存中。该文件的结构为维度为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在运行代码时也可以。我只是想删除警告的事情。

1 个答案:

答案 0 :(得分:4)

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

%#ok<SAGROW>

或者右键点击突出显示的单词data并选择选项&#34;禁止..在此行&#34;,它将为您添加评论。

有关此内容的更多信息,请参阅the documentation