x = y和x = y == 1之间的差异

时间:2016-08-15 14:39:46

标签: matlab logical-operators

假设我们有逻辑图像y,我们想要复制它。以下陈述之间的区别是什么:

x = y;

x = y==1;

1 个答案:

答案 0 :(得分:4)

x = y是一项任务。它将变量x设置为变量y中当前包含的值。

x==y是一个逻辑运算符,询问" x是否等于y"?

语句x=y==1x的所有部分设置为true,其中y的对应值等于1

您提出的两个陈述之间的区别在于,在第一个陈述中,x=yx成为y的精确副本。然而,在第二个语句中,x成为具有布尔值的逻辑矩阵。 1其中y包含10,其中y包含1以外的任何内容。

在您的特定情况下,y已经是一个逻辑矩阵(因此只包含10)这两个语句因此与上述相同,然后第一个语句将更快,因为等式检查是多余的,因此增加了不必要的开销。