我定义的分段函数为什么画不出来?

来源:百度知道 编辑:UC知道 时间:2024/05/12 00:59:25
我定义了如下函数

function y=f(x)
if (x<0)y=x+2;
elseif(x>=0)y=-x+3;
end
end

存成M文件。当我输入x=[-3:0.1:4];y=f(x);后出现
??? Output argument "y" (and maybe others) not assigned during call to "D:\Program Files\matlab\work\f.m (f)".

Error in ==> f at 2
if (x<0)y=x+2;
应该怎么弄?
急!!!谢谢!!

直接这样就可以了。
x=[-3:0.1:4];
y=(x+2).*(x<0)+(-x+3).*(x>=0);
plot(x,y)

程序有问题,修改如下:
function y=f(x)
n=length(x);
for i=1:1:n
if x(i)>=0
y(i)=x(i)^2;
else
y(i)=-x(i)^3;
end
end
这样就没有问题了