如何用matlab画分段函数二维图

来源:百度知道 编辑:UC知道 时间:2024/07/08 21:23:40
r=12;
R=100;
Rm=50;
Rn=60;
d=0:1:R;

0<=d<Rn-r时,l=(d+r)^2\(r2+2*d*r);
Rn-r<=d<Rm时,l=Rm^2\(Rn^2-d^2)+1;
Rm<=d<Rn时,l=R^2\(Rn^2-Rm^2);
Rn<=d<Rm+r时,l=(R^2-d^2)\(d^2-Rm^2);
Rm+r<=d<=R时,l=2*asin(r\d)*(R^2-d^2)\(pi*r^2)+1;

如何用matlab画出这个分段函数的二维图呢?

r=12;
R=100;
Rm=50;
Rn=60;

counter = 1;
for d=0:1:R;

if 0<=d<Rn-r,
l(counter)=(d+r)^2\(r^2+2*d*r);
counter = counter + 1;
elseif Rn-r<=d<Rm,
l(counter)=Rm^2\(Rn^2-d^2)+1;
counter = counter + 1;
elseif Rm<=d<Rn,
l(counter)=R^2\(Rn^2-Rm^2);
counter = counter + 1;
elseif Rn<=d<Rm+r,
l(counter)=(R^2-d^2)\(d^2-Rm^2);
counter = counter + 1;
elseif Rm+r<=d<=R,
l(counter)=2*asin(r\d)*(R^2-d^2)\(pi*r^2)+1;
counter = counter + 1;
end

end

plot(0:1:R, l, '.'); xlabel('d'); ylabel('l');

分段函数分段画呗
连着几个plot