MATLAB 双重不等式

MATLAB double inequality

我很难理解为什么这是错误的

if x<=-1
elseif pwres=1
elseif -1<x<=1
   pwres=x.^2
else
   pwres=x.^3 
end

有人告诉我不要在第 3 行写 -1。 MATLAB 不支持双重不等式吗? 另外它应该是 x.^2 还是 x^2?

当您尝试 -1<x<=1 时,MATLAB 首先根据结果计算 -1<x 和 return 的 0 或 1。然后使用 <= 操作将最终得到的 0 或 1 与 1 进行比较,这总是 return 1.

实际上,对于 x 的任何值,您最终都会得到 1 的结果。