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)