2017-03-28 75 views
3

我正在尋找一種強制以特定格式的圖例條目的方法。我下面的代碼,它們顯示像如何在MATLAB中更改圖例的顯示格式

enter image description here

相反,我希望它像1E-1,1e-2,1e-3,1e-4,1E-5。 有沒有辦法做到這一點。

MWE:

sig=[0.1 0.01 0.001 0.0001 0.00001]; 
for j=1:length(sig) 
    for x=1:10 
     Cost(j,x) = 2*x+j; 
    end 
plot(1:10,Cost(j,:)); 
end 
legend(strcat('\sigma^2_n=',num2str((sig)'))); 
set(h,'Interpreter','latex') 

回答

5

你應該指定你想用科學記數法,當你通過傳遞custom format specifiernum2str

legend(strcat('\sigma^2_n=',num2str(sig.', '%.0e'))); 

enter image description here

轉換 sig爲字符串

如果要刪除前導在指數,你可以用正則表達式

S = regexprep(cellstr(num2str(sig.', '%.0e')), '(?<=e[-+])0*', ''); 
legend(strcat('\sigma^2_n=', S)) 

enter image description here

+0

不錯的除了刪除它們。謝謝 – NAASI

相關問題