2017-03-16 59 views
0

我想在腳本開始處設置是否要導出數字,並設置導出數字的名稱:Matlab export_fig:將變量文件名設置爲字符串而不是數字

EXPORT_FIGURE  = 1; 
    FIGURE_NAME = 'some_string'; 

... 

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

能正常工作時FIGURE_NAME是一個數字,而不是當我將它設置爲一個字符串。有沒有解決的辦法?如果我可以使用字符串,那麼我可以在腳本的頂部命名該數字。

回答

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

使用sprintf和%d的要轉FIGURE_NAME到一個整數,這個工作如果FIGURE_NAME是數字,而不是如果它是一個字符串。因此問題不是export_fig函數,而是sprintf函數。

相關問題