请问,我想用条件语句写一个分段函数,x间隔为0.05,各段颜色不同,请问该怎么写?

这是我写的代码:

clc;

clear;

x=-15:0.05:30;

if(x>=-15&&x<2);

    y1=-5*x-12;

    plot(x,y1,'b','linewidth',1);

   hold on;

else if(x>=2&&x<15);

        y2=4*x.^2;

        plot(x,y2,'r--','linewidth',3);

      hold on;

    else ;

        y3=0.5*exp(2*x);

       plot(x,y3,'g:','linewidth',5);

    end

end

图形最后呈现这种情况,

请问我哪儿里出了问题,希望大佬能写一段代码救救孩子,如果有可能的话,希望能告诉萌新matlab语法如何入门,谢谢大家。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

这个操作有点骚,注意理解

clc;
clear;

x=-15:0.05:30;
y1 = -5*x-12; 
y1 = 1./((x>=-15&x<2)-0) .* y1;
y2 =  4*x.^2;
y2 = 1./((x>=2&x<15)) .* y2;
y3 =  0.5*exp(2*x);
y3 = 1./((x>=15)) .* y3;

figure   
plot(x,y1,'b','linewidth',1);
hold on;
plot(x,y2,'r--','linewidth',3);
plot(x,y3,'g:','linewidth',5);

结果: