这个二元分段函数用MATLAB如何绘图

img


十分感谢
不知道怎么定义这个定义域,之前做的都是步长,
实在是不会了

直接使用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);

运行结果:

img

二元分段函数是一样的道理,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('函数图像')

运行结果如下

img