如何将单元格内容分配给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不再是预先分配的。因此,我想知道如果需要以后需要这样做,我该如何正确分配数组。

我知道必须有一些 celltr num2str 的东西,但是我不知道自己如何解决它。

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

preallocate legendentry作为单元格数组,因为您将要分配单元格。

legendentry = cell(1, NumberOfFiles);