runde.m
function y = runde(x, n)
% rundet x auf n Dezimalstellen
e10n = 10^(n-1);
s = sign(x);
x = abs(x);
e10 = 10.^(floor(log10(x)));
m10 = x./e10;
m10 = myround(m10*e10n)/e10n;
y = s.*m10.*e10;
y(find(isnan(y))) = 0; % NaN bei 0-Werten durch 0 ersetzen
%--------------------------------------------------------------------
function y = myround(x)
% Ersatz für Matlab's round mit "round to even"
y = round(x); % normales Runden
idx = find((abs(y - x - 0.5)./abs(y) < 1e-10) & (mod(y, 2) == 1));
y(idx) = y(idx) - 1;