代码段如下所示:
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 ,但我不知道如何自己解决。
希望你们能帮我解决这个基本问题..
答案 0 :(得分:1)
预分配legendentry
as a cell array,因为您要为其分配单元格。
legendentry = cell(1, NumberOfFiles);