|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
该子函数用来判断第n个多边形是否与前n-1个多边形发生重叠现象。
如果不重叠,输出该多边形,否则,n=n-1,同时回到主函数(进行下一轮循环)
代码如下:
function N=myoverlapping_determination(B,x,y,n)
if n==1
plot(x,y)
axis([0 20 0 20])
end
if n>1
for i=1:n-1
XYi1=[];xi1=[];yi1=[];
XYi1=B{1,i}; % 第i个多边形的x,y坐标
xi1=XYi1(:,1)';yi1=XYi1(:,2)';
in=inpolygon(xi1,yi1,x,y);
if isempty(in)==1
plot(x,y)
axis([0 20 0 20])
else
n=n-1;
N=n;
return
end
end
end
运行时出现如下错误提示:
??? One or more output arguments not assigned during call to 'myconvexhull (myoverlapping_determination)'.
Error in ==> E:\matlab6.5\work\myconvexhull.m
On line 83 ==> N=myoverlapping_determination(B,x,y,n);
望高手指点迷津!! |
|