帮忙看一下matlab题目,我实在是看不懂感谢!

请确定函数的调用是否正确。如果它是错误的,指出错误所在。1)out=test1(6);functionres=test1(x,y)res=sqrt(x.^2+y.^2);... 请确定函数的调用是否正确。如果它是错误的,指出错误所在。
1)
out = test1(6);
function res = test1(x, y)
res = sqrt(x .^2 + y .^2);

2)
out = test2(12);
function res = test2(x, y)
error (nargchk(1,2,nargin));
if nargin == 2
res = sqrt(x .^2 + y .^2);
else
res = x;
end
展开
 我来答
lovemiffy12345
2010-11-18 · TA获得超过486个赞
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
1)错了,分析如下:
function res = test1(x, y) %定义函数test1,要求有两个输入量
res = sqrt(x .^2 + y .^2);%函数体,test1的结果res为两个输入量平方和的开方。
所以,这个函数调用的时候应该使用两个参数。所以错
2)正确。
function res = test2(x, y)
error (nargchk(1,2,nargin));%这句功能是判断调用时使用的参数的个数是不是在1和2之间。 是同上面1)不一样的地方
if nargin == 2
res = sqrt(x .^2 + y .^2);
else
res = x;
end %是当调用时用两个参数时输出两个参数平方和的开方,否者输出参数的原值。
out = test2(12);%调用结果 out=12
误入坟墓的灵魂
2010-11-18 · TA获得超过2704个赞
知道小有建树答主
回答量:613
采纳率:100%
帮助的人:572万
展开全部
1.错了
错在test1函数的参数要有两个,调用的时候只有一个6.
可以设置两个参数的默认值,还可以加入其它语句来根据输入参数不同执行不同过程。但是这个函数好像没有必要。
2.是正确的,可以根据输入的参数来判断函数如何执行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式