关于matlab的逻辑运算命令
4个回答
展开全部
&&和||被称为&和|的short
circuit形式,
表达式:A&B首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
A&&B
首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。这种用法非常有用,如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A对减少计算量是有好处的。另外这也可以防止类似被0除的错误:
flag=denum~=0
&&
num/denum>10
if
flag
%Do
Something
end
if
上面的表达式就可以防止denum等于0的情况。当然,如果你希望在判断的时候,对A和B表达式都进行计算,就应该使用标准的&或者|。Matlab中的if和while语句中的逻辑与和逻辑或都是默认使用short-circuit形式。
if
flag=denum~=0
&&
num/denum>10
%Do
Something
end
if
与
if
flag=denum~=0
&
num/denum>10
%Do
Something
end
if
执行的结果一样。
circuit形式,
表达式:A&B首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
A&&B
首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。这种用法非常有用,如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A对减少计算量是有好处的。另外这也可以防止类似被0除的错误:
flag=denum~=0
&&
num/denum>10
if
flag
%Do
Something
end
if
上面的表达式就可以防止denum等于0的情况。当然,如果你希望在判断的时候,对A和B表达式都进行计算,就应该使用标准的&或者|。Matlab中的if和while语句中的逻辑与和逻辑或都是默认使用short-circuit形式。
if
flag=denum~=0
&&
num/denum>10
%Do
Something
end
if
与
if
flag=denum~=0
&
num/denum>10
%Do
Something
end
if
执行的结果一样。
展开全部
&&和||被称为&和|的short
circuit形式,
A&B
(1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
(2)A和B可以为矩阵(e.g.
A=[1
0],B=[0
0])。
A&&B
(1)首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
(2)A和B不能是矩阵,只能是标量。
"|"与“||”同理,即:
AIB
(1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑或的计算。
(2)A和B可以为矩阵(e.g.
A=[1
0],B=[0
0])。
AIIB
(1)首先判断A的逻辑值,如果A的值为真,就可以判断整个表达式的值为真,就不需要再判断B的值。
(2)A和B不能是矩阵,只能是标量。
实例:
拓展说明:
除了|和&两个操作符外,还有一种逻辑操作符:非
非(或逻辑非)是一元操作符,即~A:当A是非零时结果为“0”;当A为“0”时,结果为“1”。
circuit形式,
A&B
(1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
(2)A和B可以为矩阵(e.g.
A=[1
0],B=[0
0])。
A&&B
(1)首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
(2)A和B不能是矩阵,只能是标量。
"|"与“||”同理,即:
AIB
(1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑或的计算。
(2)A和B可以为矩阵(e.g.
A=[1
0],B=[0
0])。
AIIB
(1)首先判断A的逻辑值,如果A的值为真,就可以判断整个表达式的值为真,就不需要再判断B的值。
(2)A和B不能是矩阵,只能是标量。
实例:
拓展说明:
除了|和&两个操作符外,还有一种逻辑操作符:非
非(或逻辑非)是一元操作符,即~A:当A是非零时结果为“0”;当A为“0”时,结果为“1”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑与,a&b,a和b只要有一个为0,结果为0,否则为1
逻辑或,a|b,a和b只要有一个为1,结果为1,否则为0
异或,xor(a,b),简单地看成不进位的加法好了。(意义是异为真,同为假,不然怎么叫异呢,通常用来取反或保存)
这里a和b都是矩阵,所以结果是a和b对应元素的逻辑操作
逻辑或,a|b,a和b只要有一个为1,结果为1,否则为0
异或,xor(a,b),简单地看成不进位的加法好了。(意义是异为真,同为假,不然怎么叫异呢,通常用来取反或保存)
这里a和b都是矩阵,所以结果是a和b对应元素的逻辑操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&(|)可用来对数组进行处理
而&&则不能。
如a=[0
1
2];
>>
b=[1
2
3];
>>
a&&b
???
Operands
to
the
||
and
&&
operators
must
be
convertible
to
logical
scalar
values.
>>
a&b
ans
=
0
1
1
而&&则不能。
如a=[0
1
2];
>>
b=[1
2
3];
>>
a&&b
???
Operands
to
the
||
and
&&
operators
must
be
convertible
to
logical
scalar
values.
>>
a&b
ans
=
0
1
1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询