matlab中报错,|| and && 的操作对象必须被转变成逻辑标量值,啥意思??求高手解答 5
Operandstothe||and&&operatorsmustbeconvertibletologicalscalarvalues.Errorin==>histat1...
Operands to the || and && operators must be convertible to logical scalar values.
Error in ==> hist at 11
GP(k+1)=length(find(A>=k*1000&&A<(k+1)*1000))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 展开
Error in ==> hist at 11
GP(k+1)=length(find(A>=k*1000&&A<(k+1)*1000))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 展开
3个回答
展开全部
将原程序中的 && 改成 & 就可以了。
GP(k+1)=length(find(A>=k*1000 & A<(k+1)*1000))/(m*n);
&是逻辑AND运算。&& 也是逻辑AND,但它附带一种称为“短路”的效果。只有当&&左侧的运算元成立时电脑才会继续进行 && 右侧的运算元。比如:
A & B (A 和 B 都被计算)
A && B (只有当A是true的情况下才会计算B)
GP(k+1)=length(find(A>=k*1000 & A<(k+1)*1000))/(m*n);
&是逻辑AND运算。&& 也是逻辑AND,但它附带一种称为“短路”的效果。只有当&&左侧的运算元成立时电脑才会继续进行 && 右侧的运算元。比如:
A & B (A 和 B 都被计算)
A && B (只有当A是true的情况下才会计算B)
追问
问题解决了,只是我还是不能搞清楚这句代码为啥不行,按你解释的应该也行啊,赐教
展开全部
将原程序中的 && 改成 & 就可以了。
GP(k+1)=length(find(A>=k*1000 & A<(k+1)*1000))/(m*n);
&是逻辑AND运算。&& 也是逻辑AND,但它附带一种称为“短路”的效果。
只有当&&左侧的运算元成立时电脑才会继续进行 && 右侧的运算元。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询