函数如何调用输入?

1次观看(过去30天)
双峰江
双峰江 2020年5月6日
评论道: 双峰江2020年5月7日
函数[result] = test02(type,a,b,c,d)
这个函数用来测试如果只有部分输入会发生什么
需要%才能得到结果。
开关类型
情况下' 1 '
结果= a + b;
情况下' 2 '
结果= a + b + c + d;
否则
警告('意外的输入类型。请检查输入。
结束
结束
我想知道Matlab函数是如何默认地“使用”输入的,所以我写了上面的函数,并在命令行中输入下面的代码,看看如果只给出了部分输入会怎样。出乎意料的是,没有出现错误(就我个人而言,'c'和'd'对于获得情况'1'的结果并不重要)。谁能解释一下为什么当只给出部分输入(类型,a, b)时,函数仍然有效?在Matlab函数中调用输入的机制是什么?
类型=' 1 '
= 1;b = 2;c = 3;d = 4;
[result] = test02(type,a,b)

接受的答案

Stephen23
Stephen23 2020年5月6日
编辑:Stephen23 2020年5月6日
  1. MATLAB的函数输入和输出参数完全是位置的。他们的名字无关紧要。
  2. 在调用函数时,需要提供输入在实际运行的代码中使用例如,如果在运行的代码中只使用了第三个输入,那么必须提供第三个输入。
  3. ...但是因为规则1。,这意味着你还需要提供第一个和第二个输入,尽管他们的价值观将被完全忽视因为运行的代码不使用它们。
  4. 未使用的输入不能留空。通常使用空数组。
1评论
双峰江
双峰江 2020年5月7日
你完美地回答了我的问题。谢谢。

登录评论。

更多答案(1)

KSSV
KSSV 2020年5月6日
这是因为,你的type = '1'只需要两个输入a,b ..
你尝试使用只有两个输入的type = '2' ..它会抛出错误。对于type = '1'的情况,它只需要两个输入a, b,并且您已经提供了它们,所以没有错误。
2的评论
里克
里克 2020年5月6日
你可以放入任何你想要的东西,因为你的函数会忽略变量的实际内容。通常人们使用空数组 [] 来显示一个输入被忽略。
类型=' 1 '
= 1;c = 3;
Result = test02(type,a,[],c)

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!