根据描述,Y是A,B的二元函数,故结果是一张三维曲面,参考如下代码及图像。它表示将每一个B的值对应的曲线拼在一起的结果。图中可以看出存在不连续的部分:
'如下代码中结果缩小1000倍
B=3.5:0.01:10;
A=20*3.5:0.5:75*10;
[x,y]=meshgrid(A,B);
z=0.3*x.*(x<30*y) + (0.18*x-5.4*y).*(x>30*y&x<=36*y) + (0.23*x-7.2*y).*(x>36*y&x<=45*y) + (0.3*x-10.35*y).*(x>45*y&x<=54*y) + (0.4*x-15.75*y).*(x>54*y&x<=63*y) + (0.55*x-25.2*y).*(x>63*y);
mesh(x,y,z)
xlabel('A /10^3')
ylabel('B /10^3')
zlabel('Y /10^3')
如果需要单独看Y-A的关系,那就需要固定B,然后Y-A作图,参考代码及结果。这里明显可以看出,此分段函数存在间断点。
y=@(A,B)0.3*A.*(A<30*B) + (0.18*A-5.4*B).*(A>30*B&A<=36*B) + (0.23*A-7.2*B).*(A>36*B&A<=45*B) + (0.3*A-10.35*B).*(A>45*B&A<=54*B) + (0.4*A-15.75*B).*(A>54*B&A<=63*B) + (0.55*A-25.2*B).*(A>63*B);
A=20*3500:500:75*10000;
i=1;
for B=3500:500:10000
subplot(3,5,i);
Y=y(A,B);
plot(A,Y);
xlabel('A');ylabel('y');title(strcat('B=',num2str(B)));
i=i+1;
end
并且测量坐标可知不连续的部分出现在A=30B处,其实你提供的公式的前两个分段以体现出来:
A≤30B时, Y=0.3A
30B<A≤36B时 Y=0.18A-5.4B
代入分段点A=30B,前一个分支Y=0.3A,而后一个分支Y=0.18*30B-5.4B=0,即出现了间断点
这是一个三维图还是固定B算二维的