直接使用matlab中逻辑表达式。
例如最简单的分段函数f(x)=1,0≤x<5,f(x)=2,5≤x≤10,用matlab代码表示如下:
x=0:0.1:10;
f=zeros(size(x));
f(x<5)=1;
f(x>=5)=2;
plot(x,f,'linewidth',2);
运行结果:
二元分段函数是一样的道理,matlab代码如下:
[X1, X2] = meshgrid(linspace(-2, 2, 100));
P = zeros(size(X1));
P(X1+X2>1) = 0.5457*exp(-0.75*X2(X1+X2>1).^2-3.75*X1(X1+X2>1).^2-1.5*X1(X1+X2>1));
P(X1+X2<=1 & X1+X2>-1) = 0.7575*exp(-X2(X1+X2<=1 & X1+X2>-1).^2-6*X1(X1+X2<=1 & X1+X2>-1).^2);
P(X1+X2<=-1) = 0.5457*exp(-0.75*X2(X1+X2<=-1).^2-3.75*X1(X1+X2<=-1).^2-1.5*X1(X1+X2<=-1));
figure;
surf(X1,X2,P);
xlabel('x_1');
ylabel('x_2');
zlabel('p(x_1,x_2)');
title('函数图像')
运行结果如下