注册 登录
编程论坛 Matlab

为什么我做出来的图形是这个呢?指点小弟哈

kk9587a 发布于 2013-03-30 12:39, 540 次点击
程序代码:
xef=[120,410];yef=[230,230];
xfh=[410,410];yfh=[230,10];
xgh=[120,410];ygh=[10,10];
xdc=[410,130];yfd=[120,120];
n1=360;
c1=linspace(0,2*pi,360);
r1=10;
xr1=r1*cos(c1)+120;
yr1=r1*sin(c1)+120;
n2=180;
c2=linspace(pi/2,3*pi/2,180);
r2=110;
xr2=r2*cos(c2)+120;
yr2=r2*sin(c2)+120;
x=[xef,xfh,xgh,xdc,xr1,xr2];
y=[yef,yfh,ygh,ydc,yr1,yr2];
plot(x,y,'r');
原图是
只有本站会员才能查看附件,请 登录
我做出来怎么是
只有本站会员才能查看附件,请 登录

希望能指点哈。。。
1 回复
#2
U2010100092013-04-01 17:07
嗯,是画的有些问题,
x=[xef,xfh,xgh,xdc,xr1,xr2];
y=[yef,yfh,ygh,ydc,yr1,yr2];
plot(x,y,'r');
这样排版会让画出来的图是用一条线画出来的,和你的想的原图就多了一条线,建议楼主一张图里画2个图,放在一起就应该可以解决的
x1=[xef,xfh,xgh,xdc,xr1];
y1=[yef,yfh,ygh,ydc,yr1];
x2=xr2;
y2=yr2;
plot(x1,y1,'r',x2,y2,'r');
这样画试试

[ 本帖最后由 U201010009 于 2013-4-1 17:12 编辑 ]
1