嗨,我很好奇为什么我用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 0 0 0
octave:10>
Run Code Online (Sandbox Code Playgroud)
我用MATLAB得到了相同的行为,即y是零向量.
但是,如果我添加以下for循环
for i=1:size(t,1)
y(i) = pdf(t(i))
end
Run Code Online (Sandbox Code Playgroud)
然后我得到了正确的结果.
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
Run Code Online (Sandbox Code Playgroud)