14. Функции округления и знака

 

Функции округления и знака

Ряд особых функций служат для выполнения операций округления числовых данных и анализа их знака. 

  • fix(A) — возвращает массив А с элементами, округленными до ближайшего к нулю целого числа. Для комплексного А действительные и мнимые части округляются отдельно.

Примеры:

» А=[1/3 2/3: 4.99 5.01] 

А =

0.3333     0.6667

4.9900     5.0100 

» fix(A) 

ans =

0    0

4     5

  • floor(A) — возвращает А с элементами, представляющими ближайшее меньшее или равное соответствующему элементу А целое число. Для комплексного А действительные и мнимые части преобразуются отдельно.

Примеры:

» А=[-1/3 2/3: 4.99 5.01] 

А =

-0.33330.6667

4.99005.0100 

» floor(А)

 ans =

-1 0 4 5

  • ceil (A) — возвращает ближайшее большее или равное А целое число. Для комплексного А действительные и мнимые части округляются отдельно.

Примеры:

» а=-1.789; 

» ceil (а) 

ans =

-1

» а=-1.789+1*3.908; 

» cei l(а) 

ans =

-1.0000 + 4.0000i

  • rem(X,Y) возвращает X - fix(X./Y).*Y, где fix(X./Y) — целая часть от частного X/Y.

Если операнды X и Y имеют одинаковый знак, функция rem(X, Y) возвращает тот же результат, что mod(X.Y). Однако (для положительных X и Y) rem(-x.y) = mod(-x,y)-y. Функция rem возвращает результат, находящийся между 0 и sign(X)*abs(Y). Если Y=0, функция rem возвращает NaN. Аргументы X и Y должны быть целыми числами. Из-за неточного представления в компьютере чисел с плавающей запятой использование вещественных (или комплексных) входных аргументов может привести к непредвиденным результатам.

Пример:

» Х=[25 21 23 55 3];

» Y=[4 8 23 6 4]; 

» rem(X.Y) 

ans=

15013

  • round(X) — возвращает округленные до ближайшего целого элементы массива X. Для комплексного X действительные и мнимые части округляются отдельно.

Пример:

» Х=[5.675 21.6+4.897*1 2.654 55.8765];

 » round(X) 

ans =

6.0000     22.0000 +5.0000i     3.0000     56.0000

  • sign(X) — возвращает массив Y той же размерности, что и X, где каждый из элементов Y равен:

    • 1, если соответствующий элемент X больше 0;

    • 0, если соответствующий элемент X равен 0;

    • -1, если соответствующий элемент X меньше 0. Для ненулевых действительных и комплексных X — Sign(X)=X./abs(X).

Пример:

» Х=[-5 21 2 0 -3.7]: 

» sign(X) 

ans =

-1 1 1 0 -1