首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中的RoundUP函数

MATLAB中的RoundUP函数
EN

Stack Overflow用户
提问于 2017-10-01 00:43:04
回答 2查看 1.9K关注 0票数 0

我想写一段代码,它可以把一组数据集合起来,然后打印到小数点后的3位。我知道我需要使用Ceil函数,但不知道如何编写正确的代码。我的代码只打印1和2!例如,1.2345圈到2.000圈。我想用ceil函数把这个数字除以为1.235。

我的代码是:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-01 01:15:45

我想你想

代码语言:javascript
复制
value = ceil(rawData(row, col)*1000)/1000;
票数 1
EN

Stack Overflow用户

发布于 2017-10-01 01:24:49

对于任何有round()的语言来说,一个很好的技巧应该是:

-> ceil(x) = round(x + 0.5).

(地板) -> floor(x) = round(x - 0.5)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46508265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档