2015-03-17 3 views
2

У меня есть это:настройка точности в легенде нотации в MATLAB

leg2=strcat('Max Degree :',num2str(adet(1,1)/ch(l))); 
leg3=strcat('Min Degree :',num2str(adet(1,2)/ch(l))); 
leg4=strcat('Max Request :',num2str(adet(1,3)/ch(l))); 
leg5=strcat('Min Request :',num2str(adet(1,4)/ch(l))); 
leg6=strcat('Max Priority :',num2str(adet(1,5)/ch(l))); 
leg7=strcat('Random :',num2str(adet(1,6)/ch(l))); 
leg8=strcat('AICS :',num2str(adet(1,7)/ch(l))); 
legend(leg2,leg3,leg4,leg5,leg6,leg7,leg8,'Location','SouthWest'); 

Здесь adet(1,1)/ch(l) это число между 0 и 1. И иногда это становится чем-то вроде 0.01666667. Я хотел бы установить для него точность, чтобы сделать что-то вроде «0.02».

Я могу это сделать с disp() функцией с format bank. Но я не знаю, как применить его в сюжете. и извините за плохой английский.

ответ

2

Использование спецификатора формата в num2str (в пределах legend заявления):

>> num2str(pi) %// default 
ans = 
3.1416 
>> num2str(pi, '%.2f') %// two decimal figures 
ans = 
3.14 
+0

вау. точно так же, как C++ мы знаем. Я не знал этого :) Большое спасибо. –

+0

Да, это та же идея. Вы также можете использовать ['sprintf'] (http://es.mathworks.com/help/matlab/ref/sprintf.html), если вы пришли из C –