四舍五入的数字

Rounding numbers

我正在尝试使 Matlab 将数字舍入到特定间隔的数字。我有一个大向量,我需要将它们向上或向下舍入。

% Input
A = [1 2 3 4 5 6 7 8 9 10]

% Interval of allowed numbers.
dE = 3;

% Rounding
B = round(A,dE); % Does not work like I desire.

% Desired output
B == [0 3 3 3 6 6 6 9 9 9 ]
% Input
A = [1 2 3 4 5 6 7 8 9 10];

% Interval of allowed numbers.
dE = 3;

% Rounding
B = round(A/dE)*dE; 

您不能对整数进行舍入,因此您需要将其除以所需的区间,dE。四舍五入后,可以再乘以dE

A = [1 2 3 4 5 6 7 8 9 10]
% Interval of allowed numbers.
dE = 3;    
B = dE * round(A / dE)
B =
     0     3     3     3     6     6     6     9     9     9