声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1644|回复: 2

[编程技巧] [求助] 调用子函数时输出变量报发生错误

[复制链接]
发表于 2007-5-24 21:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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);  


望高手指点迷津!!
回复
分享到:

使用道具 举报

发表于 2007-5-24 21:58 | 显示全部楼层
原帖由 canglang 于 2007-5-24 21:52 发表
该子函数用来判断第n个多边形是否与前n-1个多边形发生重叠现象。
如果不重叠,输出该多边形,否则,n=n-1,同时回到主函数(进行下一轮循环)
代码如下:

function N=myoverlapping_determination(B,x,y,n)
...


返回值是变量N,请保证每个条件判断的结果都使得 N 有定义且有值
 楼主| 发表于 2007-5-24 22:00 | 显示全部楼层
太谢谢你了,eight兄!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 03:34 , Processed in 0.053128 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表