这样有断点的函数用MATLAB该怎样写啊

img

你好同学,函数供参考:

function y = fun(x)
y = zeros(size(x));
for i = 1:length(x)
    if(x(i)<0 && x(i)~=-4)
        y(i) = x(i)^2 + x(i) - 6;
    elseif(x(i)>=0 && x(i)<10 && x(i)~=2 && x(i)~=3)
        y(i) = x(i)^2 - 5*x(i) + 6;
    else
        y(i) = x(i)^2 - x(i) -1;
    end
end
end

当然你也可以不用if语句:

function y = fun(x)
y = (x.^2+x-6).*(x<0&x~=-4)+...
    (x.^2-5*x+6).*(x>=0&x<10&x~=2&x~=3)+...
    (x.^2-x-1).*(x==-4 | x>=10 | x==2 | x==3);
end

有帮助还望题主给个宝贵的采纳支持一下答主答题哟