diffrence between rem and mod
조회 수: 12 (최근 30일)
이전 댓글 표시
mod(4,-10)
ans =
-6
>> rem(4,-10)
ans =
4
guys could you tell me in simple language whats is diffrence between two huh i know mod take the second number symbol but i didnt get the real math out of it
댓글 수: 0
채택된 답변
Star Strider
2015년 5월 29일
댓글 수: 2
Star Strider
2015년 5월 29일
The difference is between the fix function (that rounds toward 0) and the floor function (that rounds toward -Inf).
For mod:
%MOD Modulus after division.
% MOD(x,y) is x - n.*y where n = floor(x./y) if y ~= 0. If y is not an
% integer and the quotient x./y is within roundoff error of an integer,
% then n is that integer. The inputs x and y must be real arrays of the
% same size, or real scalars.
%
% The statement "x and y are congruent mod m" means mod(x,m) == mod(y,m).
%
% By convention:
% MOD(x,0) is x.
% MOD(x,x) is 0.
% MOD(x,y), for x~=y and y~=0, has the same sign as y.
%
% Note: REM(x,y), for x~=y and y~=0, has the same sign as x.
% MOD(x,y) and REM(x,y) are equal if x and y have the same sign, but
% differ by y if x and y have different signs.
%
% See also REM.
% Copyright 1984-2005 The MathWorks, Inc.
% Built-in function.
For rem:
%REM Remainder after division.
% REM(x,y) is x - n.*y where n = fix(x./y) if y ~= 0. If y is not an
% integer and the quotient x./y is within roundoff error of an integer,
% then n is that integer. The inputs x and y must be real arrays of the
% same size, or real scalars.
%
% By convention:
% REM(x,0) is NaN.
% REM(x,x), for x~=0, is 0.
% REM(x,y), for x~=y and y~=0, has the same sign as x.
%
% Note: MOD(x,y), for x~=y and y~=0, has the same sign as y.
% REM(x,y) and MOD(x,y) are equal if x and y have the same sign, but
% differ by y if x and y have different signs.
%
% See also MOD.
% Copyright 1984-2005 The MathWorks, Inc.
% Built-in function.
추가 답변 (1개)
Samiu Haque
2020년 9월 7일
When mod(4,-10) is used, it works as -10*1=-10 and the remainder becomes 4-10=-6
But when rem(4,-10) is used, it works as -10*0=0 and the remainder becomes 4-0=4
If the dividend and divisor both are positive integers, then rem() and mod() function returns the same result. But if either of them is negative, then mod() function avoid the multiple of zero and return the remainder considering the quotient as 1. This is because the mod() function's output is periodic.
댓글 수: 2
Walter Roberson
2022년 1월 9일
(-3*-2) + (- 2) = 4 (-3*-1) + ( 1) = 4
However, when you use mod() and the remainder is not 0 then it will be the same sign as the modulus (second parameter)
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!