Octave和MATLAB中匿名函数的奇怪行为
嗨,我很好奇为什么我会在MATLAB和Octave中得到以下行为Octave和MATLAB中匿名函数的奇怪行为,matlab,octave,Matlab,Octave,嗨,我很好奇为什么我会在MATLAB和Octave中得到以下行为 octave:7> pdf = @(x) (0<=x && x<1).* (x) + (1<=x && x <=2).* (2-x); octave:8> octave:8> t = 0:0.1:1; octave:9> octave:9> y = pdf(t) y = 0 0 0 0 0 0 0 0
octave:7> pdf = @(x) (0<=x && x<1).* (x) + (1<=x && x <=2).* (2-x);
octave:8>
octave:8> t = 0:0.1:1;
octave:9>
octave:9> y = pdf(t)
y =
0 0 0 0 0 0 0 0 0 0 0
octave:10>
然后我得到正确的结果
Columns 1 through 19:
0.00000 0.10000 0.20000 0.30000 0.40000 0.50000 0.60000 0.70000 0.80000 0.90000 1.00000 0.90000 0.80000 0.70000 0.60000 0.50000 0.40000 0.30000 0.20000
Columns 20 and 21:
0.10000 0.00000
&&
和| |
是短路运算符,用于标量。替换为&
或|
。我在Matlab(R2011B)中执行上述(矢量化)代码时出错
将
&&
替换为&
后,它似乎可以正常工作。与&
和|
是短路运算符,用于标量。替换为&
或|
。我在Matlab(R2011B)中执行上述(矢量化)代码时出错
将&&
替换为&
后,它似乎可以正常工作
Columns 1 through 19:
0.00000 0.10000 0.20000 0.30000 0.40000 0.50000 0.60000 0.70000 0.80000 0.90000 1.00000 0.90000 0.80000 0.70000 0.60000 0.50000 0.40000 0.30000 0.20000
Columns 20 and 21:
0.10000 0.00000