Функции округления и знака
Ряд особых функций служат для выполнения операций округления числовых данных и анализа их знака.
- fix(A) – возвращает массив А с элементами, округленными до ближайшего к нулю целого числа. Для комплексного А действительные и мнимые части округляются отдельно.
Примеры:
>> A=[1/3 2/3: 4.99 5.01] A =0.3333 0.66674.9900 5.0100>> fix(A) ans =0 04 5- floor(A) – возвращает А с элементами, представляющими ближайшее меньшее или равное соответствующему элементу А целое число. Для комплексного А действительные и мнимые части преобразуются отдельно.
Примеры:
>> A=[-1/3 2/3: 4.99 5.01] A =-0.33330.66674.99005.0100>> floor(A) ans =-1 0 4 5- ceil (A) – возвращает ближайшее большее или равное А целое число. Для комплексного А действительные и мнимые части округляются отдельно.
Примеры:
>> a=-1.789; >> ceil(a) ans =-1>> a=-1.789+1*3.908; >> ceil(a) 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 должны быть целыми числами. Из-за неточного представления в компьютере чисел с плавающей запятой использование вещественных (или комплексных) входных аргументов может привести к непредвиденным результатам.
Пример:
>> X=[25 21 23 55 3]; >> Y=[4 8 23 6 4]; >> rem(X.Y) ans=15013- round(X) – возвращает округленные до ближайшего целого элементы массива 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).
Пример:
>> X=[-5 21 2 0-3.7]: >> sign(X) ans =-1 1 1 0-1