如何让一个函数只传递一个变量?

1视图(过去30天)
Kevin刘
Kevin刘 2020年5月14日
编辑: 詹姆斯Tursa 2020年5月15日
嗨,我只想用r或a,b来显示是否选择了情况1或情况2,但如果选择了r,MATLAB返回无法识别的变量a,b,反之亦然,我如何只选择一个变量来传递函数?
流('输入circle(1)或ellipse (2):\n'
选择=输入(''“年代”
开关选择;
情况下' 1 '
流(“圆的半径是多少?”\ n”
r =输入(' ');
情况下' 2 '
流(椭圆的短轴和长轴的长度是多少?\ n”
一个=输入(“小长度:);
b =输入(重大长度:);
否则
流('请输入[1]或[2]');
结束
[C,E]=周长(r,a,b);

答案(1)

詹姆斯Tursa
詹姆斯Tursa 2020年5月14日
开关选择;
情况下' 1 '
流(“圆的半径是多少?”\ n”
r =输入(' ');
[C、E] =周长(r);
情况下' 2 '
流(椭圆的短轴和长轴的长度是多少?\ n”
一个=输入(“小长度:);
b =输入(重大长度:);
[C、E] =周长(a, b);
否则
流('请输入[1]或[2]');
结束
然后写周长来检测输入的数量:
函数c =周长(a, b)
如果(nargin == 1)
%使用a作为r
其他的
%使用a和b
结束
2的评论
詹姆斯Tursa
詹姆斯Tursa 2020年5月15日
你的问题是设置用户选择一个圆或一个椭圆,那么为什么上面的函数适用于所有三个r, a,和b?它不应该设置为使用 要么 r a和b吗?不是三个都在一个电话里。我本以为会是这样的:
函数C =周长(a, b)圆或椭圆的百分比
如果(nargin == 1)%如果输入参数的数量为1,则使用循环公式
C = 2 *π* r;
其他的%输入参数的数量为2,因此使用椭圆公式
C =√((3*a + b)*(a + 3*b))
结束
Nargin是一个函数,它返回调用者给出的实际输入参数的数量。还有一个名为nargout的函数,它返回调用者所请求的实际输出参数的数量。

登录评论。

标签

s manbetx 845

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!