matlab 分段函数调用错误

function y=test(x)
if x<=-1
y=20;
elseif x>-1&&x<=1
y=-10*x+10;
elseif x>1&&x<=3
y=-5*x^2+25*x-20;
elseif x>3&&x<=4
y=5*x-5;
else
y=15;
end
为什么运行的时候“x>1&&x<=3”这部分调用的是其他部分的公式?
算下来test(2)=5
test(3)=30
这是什么原因呢?

第1个回答  推荐于2016-07-17
为啥我试验的结果正常?代码好像没啥问题,是否有其它叫test的m文件?

>> test(2)

ans =

10

>> test(3)

ans =

10追问

并没有别的test,但是重新换了个名字就正常了,虽然不太明白为什么,不过还是谢谢你了

本回答被提问者和网友采纳
相似回答