爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7128|回复: 5

[参考资料] matlab中&与&&用法区别【总结】

[复制链接]

新浪微博达人勋

发表于 2013-7-28 20:03:59 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
        之前一直以为&和&&是通用的,也一直在混用。今天遇到问题,运行报错,百度之,算是小长见识,就当mark和share下。

         原程序为:
         
a=rand(1,100);

         a(find(a>0.2&&a<0.8))=[];
         报错是:
         
Operands to the || and && operators must be convertible to logical scalar values.
         即:返回
到操作数||和&&的必须为逻辑标量。

     &和&&
完成的功能一样,但可适用范围可能不一样。总结它们的不同如下:

        &&和||被称为&和|的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不能是矩阵,只能是标量。


         上面程序中,a为矩阵,所以应当使用&做逻辑运算。


          运行结果为:

psb.jpeg psb1.jpeg

评分

参与人数 1金钱 +14 贡献 +4 收起 理由
Aires + 14 + 4

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-28 21:36:34 | 显示全部楼层
嗯,不错,一直没注意&和&&的区别,学习哈~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-28 23:51:17 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 08:44:41 | 显示全部楼层
第二点区别还真是不知道,涨姿势喽
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-29 09:36:53 | 显示全部楼层
北五味 发表于 2013-7-29 08:44
第二点区别还真是不知道,涨姿势喽

有用就好O(∩_∩)O~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-10 20:01:51 | 显示全部楼层
很不错,顶起来
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表