标题:请教一下matlab中return的功能
只看楼主
jbsjbs
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-26
 问题点数:0 回复次数:3 
请教一下matlab中return的功能

function xx = atan2x(u,v);
if u==v==0
xx=0;
return
end

if abs(v)<=abs(u)
result=atan(v/u);
if u<=0
if v<=0
xx=result-pi;
return;
else
xx=result+pi;
return;
end
else
xx=result;
return;
end
else
result=atan(-u/v);
if v<=0
xx=result-pi/2;
return;
else
xx=result+pi/2;
return;
end
end

这是我写的一个.m文件,名为atan2x,当我在主界面里面调用该函数,输入参数为0、0时,提示除数不能为0,但我在第二行已经作了当除数被除数都为0时的处理,并且return。请大家帮我看看怎么回事,我第一次用matlab,请大家帮忙,多谢各位了。

搜索更多相关主题的帖子: matlab return result else 
2007-04-26 15:54
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 

这样的语句好像很有问题吧:
------------------------

if u==v==0   % if abs(u)<eps & abs(v)<eps ??

------------------------


此人已消失
2007-04-26 19:05
jbsjbs
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-26
得分:0 

我的意思是如果u等于v且等于0,不可以这么写么?我第一次使用matlab,对语法不熟悉,请帮忙指正一下。
而且这个程序不光是输入0、0通不过,输入两个异号的参数也通不过,我觉得还是语法有问题,但实在看不出哪里错。
谢谢了。

2007-04-27 15:14
leki
Rank: 4
等 级:贵宾
威 望:10
帖 子:236
专家分:0
注 册:2007-4-15
得分:0 
今天在书上偶然看到:
"如果M文件中包含return语句,则函数执行到该语句终止;如果不包含return语句,则执行到文件的最好一行终止"

我没有使用过,所以不敢多加说明

常见的GUI编程问题与解答 http://bbs./dispbbs.asp?boardid=216&id=148781&star=1#148781
2007-04-28 10:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-135162-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175773 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved