Matlab export_fig:将变量文件名设置为字符串而不是数字

时间:2017-03-16 16:31:27

标签: matlab

我想在我的脚本开头设置选项,以设置是否要导出图形,以及设置导出图形的名称:

EXPORT_FIGURE      = 1;
    FIGURE_NAME    = 'some_string';

...

if EXPORT_FIGURE == 1
    export_fig(sprintf('%d', FIGURE_NAME), '-png', '-q101');
end

FIGURE_NAME是数字时,此方法正常,但是当我将其设置为字符串时则不行。有没有解决的办法?如果我可以使用字符串,那么我可以将该图命名为我的脚本顶部。

2 个答案:

答案 0 :(得分:2)

问题是因为您使用的'%d'格式说明符用于数字。您需要使用'%s'作为字符串。

if ischar(FIGURE_NAME)
    filename = sprintf('%s', FIGURE_NAME);
else
    filename = sprintf('%d', FIGURE_NAME);
end

export_fig(filename, '-png', '-q101')

答案 1 :(得分:1)

sprintf和%d的使用想要将Figures_NAME变成一个整数,如果FIG_NAME是数字的话,这是有效的,而不是它是一个字符串。因此问题不在于export_fig函数,而在于sprintf函数。