如何在MATLAB中将Cell内容分配给非单元数组对象

时间:2017-12-01 11:55:00

标签: arrays matlab

代码段如下所示:

legendentry=zeros(1, NumberOfFiles); legendentry{1}= sprintf('Experimental'); legendentry{NumberOfFiles} = sprintf('Variable: %.2f', 0.5+(NumberOfFiles-1)*0.5); h =legend(legendentry,'Location','southeast');

如果我像这样运行它会给出以下错误消息:“将单元格内容分配给非单元格数组对象。”

如果我遗漏第一行 legendentry=zeros(1, NumberOfFiles); ,代码对我来说很好,而传奇看起来像我想要的那样:

实验

变量:0.5

变量:1 .. 等等..

但是legendentry已经不再预先分配了。所以我想知道如果我以后需要这样做,我可以正确地预分配数组。

我知道必须有 cellstr num2str ,但我不知道如何自己解决。

希望你们能帮我解决这个基本问题..

1 个答案:

答案 0 :(得分:1)

预分配legendentry as a cell array,因为您要为其分配单元格。

legendentry = cell(1, NumberOfFiles);