我们在Matlab中意外使用了pi()
而不是pi
,但它的工作方式与pi
(内置常量)相同。
>> pi()
ans =
3.1416
>> pi
ans =
3.1416
但我们无法理解Matlab语言中的语法pi()
。我们试图将其解释为函数,但它返回了一个错误,它不能接受输入参数。
>> pi(1)
Error using pi
Too many input arguments.
任何人都可以告诉我们我们在这里错过了什么吗?感谢。
答案 0 :(得分:6)
pi
实际上是没有输入的函数。这就是为什么如果你拨打pi()
和pi
,它会导致同样的事情,因为他们都在没有输入的情况下调用pi
。一般来说,f
和f()
执行f
是一个函数,它们都意味着在没有输入的情况下调用f
的事情。
有关详细信息,请参阅官方文档:https://www.mathworks.com/help/matlab/matlab_prog/create-functions-in-files.html#bvf7wa9。在输入参数(可选)标题下,它显示为:
如果您的函数接受任何输入,请在函数名称后面的括号中括起它们的名称。用逗号分隔输入。
function y = myFunction(one,two,three)
如果没有输入,则可以省略括号。
...这就是为什么pi
和pi()
意味着同样的事情。
答案 1 :(得分:0)
编辑: pi()是matlab中的一个函数。它返回3.1415 ....但是,如果函数没有参数,matlab不会需要'()'。这就是你可以输入pi的原因。它真的非常聪明。 Matlab编码语法为数学清晰度而优化。
另一个例子是filesep()命令。你只需输入filesep即可。如果我可以发表评论,我愿意。