为什么&&运算符看起来不适用于Matlab/Octave?

del*_*ber 3 matlab octave

我正在玩一些略微修改的欧拉问题.以下代码:

a=(0:1:999);
b=a(mod(a,5) == 0)
Run Code Online (Sandbox Code Playgroud)

看起来做对了.但稍作修改:

a=(0:1:999);
b=a(mod(a,5) == 0 && mod(a,3) == 0)
Run Code Online (Sandbox Code Playgroud)

我明白了

b=[](0x0)
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

Amr*_*mro 6

你想要&而不是&&

&运算符在矩阵之间执行逐元素AND,而&&运算符在标量值之间执行短路AND.