Matlab中的关系算子与倍频程

Matlab中的关系算子与倍频程,matlab,octave,bsxfun,Matlab,Octave,Bsxfun,这段代码在八度音阶下工作得很好,但在Matlab中却不行。但是为什么呢?有什么解决办法吗?谢谢 a = [0; 5; 10]; b = [3 5 7]; a >= b 倍频程特性: 0 0 0 1 1 0 1 1 1 Error using > Matrix dimensions must agree. Matlab行为: 0 0 0 1 1 0 1 1 1 Error using > Matrix

这段代码在八度音阶下工作得很好,但在Matlab中却不行。但是为什么呢?有什么解决办法吗?谢谢

a = [0; 5; 10];
b = [3 5 7];

a >= b
倍频程特性:

 0   0   0
 1   1   0
 1   1   1
Error using  > 
Matrix dimensions must agree.
Matlab行为:

 0   0   0
 1   1   0
 1   1   1
Error using  > 
Matrix dimensions must agree.

使用
bsxfun

>> bsxfun( @ge, a, b )
 ans =
   0     0     0
   1     1     0
   1     1     1

太有趣了

使用
bsxfun

>> bsxfun( @ge, a, b )
 ans =
   0     0     0
   1     1     0
   1     1     1

太有趣了

这是因为倍频程是自动广播的,在Matlab中,你必须自己做。最有效的方法通常是
bsxfun
。这是因为倍频程是自动广播的,在Matlab中你必须自己做。最有效的方法通常是
bsxfun