データセットを切り上げて小数点以下3桁まで出力できるコードを記述したいと思います。私はCeil関数を使用する必要があることを知っていますが、正しいコードを書く方法はわかりません。私のコードが印刷するのは1と2だけです!例えば、1.2345ラウンドから2.000ラウンドまでです。私は、ceil関数を使って1.235になるように数値を丸めたいと思います。MATLABのRoundUP関数
私のコードは次のとおりです。
row = 1;
col = 1;
HIGH_ERROR = 2.5;
LOW_ERROR = 0.0;
% Read the file
rawData = dlmread('data_1.csv',',');
% Get the size
[MAX_ROWS, MAX_COLS] = size(rawData);
errorMap = double(zeros(MAX_ROWS, MAX_COLS));
value = ceil(rawData(row, col)*1000/1000);
%Print the raw data
fprintf('Raw Data\n');
for row = 1 : MAX_ROWS
for col = 1 : MAX_COLS
fprintf('%0.3f ', rawData(row, col));
end
fprintf('\n');
end
%Print the Error Map
fprintf('Error Map\n');
for row = 1 : MAX_ROWS
for col = 1 : MAX_COLS
if rawData(row, col) > HIGH_ERROR
errorMap(row, col) = rawData(row, col);
rawData(row, col) = HIGH_ERROR;
if rawData(row, col) < LOW_ERROR
errorMap(row, col) = rawData(row, col);
rawData(row, col) = LOW_ERROR;
end
end
fprintf('%0.3f ', errorMap(row, col));
end
fprintf('\n');
end
%Print the Rounded Data
fprintf('Rounded Data\n');
for row = 1 : MAX_ROWS
for col = 1 : MAX_COLS
value = ceil(rawData(row, col)*1000/1000);
fprintf('%0.3f ', value);
end
fprintf('\n');
end