圆函数的Matlab实现

时间:2016-01-15 05:49:08

标签: matlab rounding

我试图在不使用圆形或圆形的情况下实现MatLab中存在的圆函数。这仅仅是面试的一种做法。我的思维过程如此:我知道我需要使用函数floor和ceil。我想让我不先没有基础知识跳转到代码,所以这是我对原型的想法,函数x = f(z,d),其中z是要舍入的数字,d是数字的位数。

1 个答案:

答案 0 :(得分:1)

这种问题可以并且经常(有时可能经常)通过一些聪明的解决方案来解决。例如,可以通过将边际添加到数字然后使用楼层来解决此问题。

function y = myround(x, n)
dec = (10^n);
y = floor(x*dec+0.5);
y = y/dec;

因此,如果位置n+1的小数位数为0.5或更大,则会在第n个小数点加一个。

修改

这可以通过2参数round完成。

round(123.456,2)

ans =

123.4600