如何防止MATLAB Coder为将简单数字插入字符串生成可变大小的代码?
for i=1:4
name=sprintf('Data%d.bin',int8(i));
stuff(name);
end
在生成的C代码中,它使用诸如emxutil之类的许多函数来确定sprtintf生成的字符串的大小。 我只想说我只有一位数。我怎样才能做到这一点?! 以下内容也不起作用
name=['Data',char(i),'.bin'];
使用以下内容也会产生错误,导致生成LHS大小固定但RHS变化的代码:
coder.varsize('name',[1,14],[0,0])
答案 0 :(得分:0)
我再次测试了以下内容。它效果很好,也可以用于更多数字,并且不使用var size的东西。
name=['Data',int2str(i),'.bin'];
此外,如果我们确定我是一位数字,也可以使用这些字符:
['Data' char(48+i) '.bin']
['Data' char('0'+i) '.bin']