2016-02-12 32 views
0

我正在嘗試使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 ] 

回答

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

% Interval of allowed numbers. 
dE = 3; 

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

你不能圓整數,所以你需要通過所需的時間間隔來劃分它,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