有two ways Matlab中调用函数,命令语法和函数语法。 我正在查看其他人编写的代码,其中一个 .m 文件中有如下语句:
params=sys_params;
而 sys_params 在另一个 .m 文件中定义为函数:
function params=sys_params()
params 恰好是一个结构体。 我想知道的是,如果根据Matlab文档,命令语法不能用于函数的输出,那么第一条语句如何完美运行?
最佳答案
有两件事:
命令和函数语法之间的区别在传递参数时发挥作用。
在 MATLAB 中调用函数时,在不带参数的情况下调用时,括号是可选的。 MATLAB 将调用该函数,而无需调用
()
与其他一些语言不同。我想到的一个异常(exception)是
()
需要调用函数句柄/匿名函数。
To call a function that does not require any inputs and does not return any outputs, type only the function name
没有明确告知的一件不明确的事情是,分配此类函数调用的输出是完全有效的。
我会注意到我不太喜欢那样()
是可选的,因为它乍一看隐藏了函数调用。因此,我尝试使用 ()
尽可能频繁地表明我正在调用一个函数,因此几乎所有脚本都以 clc();clear();
开头.
关于matlab - matlab函数的命令语法仍然生成输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46147279/