matlab里rem和mod函数区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab里rem和mod函数区别?相关的知识,希望对你有一定的参考价值。

rem(x,y)与mod(x,y)的区别:
当x,y同号时,rem与mod结果相同;
当x,y异号时,rem(x,y)与x同号,mod(x,y)与y同号。
在算法上:
rem(x,0)是NaN.
rem(x,x),

x~=0,

0.
rem(x,y),

x~=y

y~=0时,

x同号.

mod(x,0)

x.
mod(x,x)

0.
mod(x,y),

x~=y

y~=0时,

y同号.
参考技术A 没问题啊,mod函数的结果与y符号相同,这里y=2是正数,所以得到的是1.8。

mod(x,y)和rem(x,y)的计算表达式都是
x - n.*y但n的定义不同,对于rem
n = fix(x./y) = -6而对于mod
n = floor(x./y) = -7所以
rem(-12.2,2) = -12.2 - (-6)*2 = -0.2
mod(-12.2,2) = -12.2 - (-7)*2 = 1.8
概括起来:如果x、y同号,rem和mod结果相同;如果x、y不同号,则rem(x,y)的符号与x相同,mod(x,y)的符号与y相同。
参考技术B 没问题啊,mod函数的结果与y符号相同,这里y=2是正数,所以得到的是1.8。
mod(x,y)和rem(x,y)的计算表达式都是
x-n.*y
但n的定义不同,对于rem
n=fix(x./y)=-6
而对于mod
n=floor(x./y)=-7
所以
rem(-12.2,2)=-12.2-(-6)*2=-0.2
mod(-12.2,2)=-12.2-(-7)*2=1.8
概括起来:如果x、y同号,rem和mod结果相同;如果x、y不同号,则rem(x,y)的符号与x相同,mod(x,y)的符号与y相同。
参考技术C 没问题啊,mod函数的结果与y符号相同,这里y=2是正数,所以得到的是1.8。
mod(x,y)和rem(x,y)的计算表达式都是
1
x
-
n.*y
但n的定义不同,对于rem
1
n
=
fix(x./y)
=
-6
而对于mod
1
n
=
floor(x./y)
=
-7
所以
1
2
rem(-12.2,2)
=
-12.2
-
(-6)*2
=
-0.2
mod(-12.2,2)
=
-12.2
-
(-7)*2
=
1.8
概括起来:如果x、y同号,rem和mod结果相同;如果x、y不同号,则rem(x,y)的符号与x相同,mod(x,y)的符号与y相同。
所谓“取余数”,就是从被除数中减去除数的整数倍,而这个“整数倍”的整数对于mod和rem的含义不同,所以会有结果的差异。

matlab 中 bwboundaries 函数 的用法

谁知道matlab中 bwboundaries 的用法,帮下小弟,小弟不胜感激.越详细越好.

参考技术A 格式:B = bwboundaries(BW,conn)(基本格式)
作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。

help 文档例子
I = imread('rice.png');%读入图像
BW = im2bw(I, graythresh(I));%转换成2进制图像
[B,L] = bwboundaries(BW,'noholes');%寻找边缘,不包括孔
imshow(label2rgb(L, @jet, [.5 .5 .5]))%显示图像
hold on
for k = 1:length(B)
boundary = Bk;
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
end%整个循环表示的是描边本回答被提问者和网友采纳

以上是关于matlab里rem和mod函数区别?的主要内容,如果未能解决你的问题,请参考以下文章

Matlab中取模(mod)与取余(rem)的区别

求模Matlab中提供了rem和mod的区别

matlab中rem函数的作用?

matlab中mod是啥意思

matlab中的rem怎么用

matlab mod 函数