Main Content

nearest

가장 가까운 정수로 반올림(반올림 경계에 놓인 숫자는 양수 무한대 방향으로 올림)

설명

예제

y = nearest(a)fi 객체 a를 가장 가까운 정수로 반올림(반올림 경계에 놓인 숫자인 경우 양수 무한대 방향의 가장 가까운 정수로 올림)하고, 그 결과를 fi 객체 y로 반환합니다.

예제

모두 축소

다음 예제에서는 nearest 함수가 워드 길이가 8이고 소수부 길이가 3인 부호 있는 fi 객체의 numerictype 속성에 어떠한 영향을 주는지 보여줍니다.

a = fi(pi,1,8,3)
a = 
    3.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 3
y = nearest(a)
y = 
     3

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 6
        FractionLength: 0

다음 예제에서는 nearest 함수가 워드 길이가 8이고 소수부 길이가 12인 부호 있는 fi 객체의 numerictype 속성에 어떠한 영향을 주는지 보여줍니다.

a = fi(0.025,1,8,12)
a = 
    0.0249

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 12
y = nearest(a)
y = 
     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

함수 convergent, nearest, round는 최소 유효 자릿수가 5인 값을 처리하는 방법이 서로 다릅니다.

  • convergent 함수는 반올림 경계에 놓인 숫자를 가장 가까운 짝수로 올림 또는 내림합니다.

  • nearest 함수는 반올림 경계에 놓인 숫자를 양의 무한대 방향의 가장 가까운 정수로 올림합니다.

  • round 함수는 반올림 경계에 놓인 숫자를 절댓값이 더 큰 가장 가까운 정수로 올림 또는 내림합니다.

이 예제에서는 주어진 입력값 a에 대한 이러한 차이를 보여줍니다.

a = fi([-3.5:3.5]');
y = [a convergent(a) nearest(a) round(a)]
y = 
   -3.5000   -4.0000   -3.0000   -4.0000
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.5000   -2.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000         0    1.0000    1.0000
    1.5000    2.0000    2.0000    2.0000
    2.5000    2.0000    3.0000    3.0000
    3.5000    3.9999    3.9999    3.9999

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

입력 인수

모두 축소

입력 fi 배열로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다.

복소수 fi 객체의 경우 허수부와 실수부는 개별적으로 반올림됩니다.

nearest는 자명하지 않은 기울기와 편향 스케일링을 가진 fi 객체를 지원하지 않습니다. 기울기가 2의 정수 거듭제곱이고 편향이 0이면 기울기와 편향 스케일링이 자명한 경우입니다.

데이터형: fi
복소수 지원 여부:

알고리즘

  • ya는 동일한 fimath 객체와 DataType 속성을 갖습니다.

  • aDataType 속성이 single형, double형 또는 boolean인 경우 ynumerictypea와 동일합니다.

  • a의 소수부 길이가 0이거나 음수이면 a는 이미 정수이며 ynumerictypea와 동일합니다.

  • a의 소수부 길이가 양수이면 y의 소수부 길이는 0이고 부호는 a와 같으며 워드 길이는 a의 워드 길이와 소수부 길이 간의 차에 1비트를 더한 값입니다. a에 부호가 있으면 y의 최소 워드 길이는 2입니다. a에 부호가 없으면 y의 최소 워드 길이는 1입니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2008a에 개발됨

참고 항목

| | | |