Hallo,
diesmal auf deutsch, eine kleine Funktion, um in matlab die Achsennumerierung "auf deutsch" umzusetzen.
das heisst, es wird "." als tausender separator benutzt.
die funktion macht aus
0 -> 0
1000 -> 1.000
1111 -> 1.111
1110 -> 1.110
1100 -> 1.100
10000->10.000
usw...
hier ist die funktion:
function out = StrFormat(in)
%% 1000
t=floor(in./1000);
%% 100
c= (in - t*1000);
%% merge
for i=1:1:length(in)
str_t = num2str(t(i));
str_c = num2str(c(i));
switch length(str_c)
case 3
% alles ok
case 2
str_c(3) ='0';
case 1
str_c(2:3) = '0';
otherwise
disp('error in switch str_c')
end
out{i} = [str_t '.' str_c ];
if out{i} == '0.000'
out{i} = '0';
end
end
wie funktioniert die Funktion? Hier eine kleine Hilfe:
yticklabel=StrFormat(get(gca,'YTick'));
xticklabel=StrFormat(get(gca,'XTick'));
set(gca,'YTickLabel',yticklabel,'XTickLabel',xticklabel)
No comments:
Post a Comment