首先我们知道Matlab可以表示分段函数,一般都是是用if-else的结构,如下
clear all;
y=0;
x=-5:0.01:5;
for X=1:1:length(x);
if(x(X)<-1.5)
y(X)=0;
elseif(x(X)>=-1.5 & x(X)<=-0.5)
y(X)=0.5.*(x(X).^2)+1.5.*x(X)+9/8;
elseif(x(X)>=-0.5 & x(X)<=0.5)
y(X)=-1.*(x(X).^2)+x(X)+3/4;
elseif(x(X)>=0.5 & x(X)<=1.5)
y(X)=0.5.*(x(X).^2)-1.5.*x(X)+9/8;
elseif(x(X)>1.5)
y(X)=0;
end;
end;
plot(x,y);
但是这种结构无法去做一些数学运算,很多部分还是要自己手动去算,matlab只不过是画个图的,不过我们还可以使用匿名的写法来写分段函数,就可以采用如积分,微分这些计算了
fun_line=@(x)0.*(x<-0.5)+(x>=-0.5&x<0.5)+(0).*(x>0.5);
fun=@(x)0.*(x<-1)+(x+1).*(x>=-1&x<0)+(1-x).*(x>=0&x<1)+(0).*(x>1);
fun_thr