Иллюстрированный самоучитель по MatLab

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

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

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

Примеры:

>> A=[1/3 2/3: 4.99 5.01]
A =
0.3333 0.6667
4.9900 5.0100
>> fix(A)
ans =
0 0
4 5
  • floor(A) – возвращает А с элементами, представляющими ближайшее меньшее или равное соответствующему элементу А целое число. Для комплексного А действительные и мнимые части преобразуются отдельно.

Примеры:

>> A=[-1/3 2/3: 4.99 5.01]
A =
-0.33330.6667
4.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
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.