[求助] 调用子函数时输出变量报发生错误
该子函数用来判断第n个多边形是否与前n-1个多边形发生重叠现象。如果不重叠,输出该多边形,否则,n=n-1,同时回到主函数(进行下一轮循环)
代码如下:
function N=myoverlapping_determination(B,x,y,n)
if n==1
plot(x,y)
axis()
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()
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);
望高手指点迷津!! 原帖由 canglang 于 2007-5-24 21:52 发表 http://www.chinavib.com/forum/images/common/back.gif
该子函数用来判断第n个多边形是否与前n-1个多边形发生重叠现象。
如果不重叠,输出该多边形,否则,n=n-1,同时回到主函数(进行下一轮循环)
代码如下:
function N=myoverlapping_determination(B,x,y,n)
...
返回值是变量N,请保证每个条件判断的结果都使得 N 有定义且有值 太谢谢你了,eight兄!!
页:
[1]