在Matlab中调用函数two ways,命令语法和函数语法。 我正在查看由其他人编写的代码,其中一个.m文件中有如下声明:
params=sys_params;
而sys_params被定义为另一个.m文件中的函数:
function params=sys_params()
params碰巧是一种结构。
我想知道的是,如果根据Matlab文档,命令语法不能用于从函数输出,那么第一个语句如何正常工作?
答案 0 :(得分:2)
两件事:
在没有参数的情况下调用时,在MATLAB中调用函数的括号是可选的。与其他语言不同,MATLAB将调用函数而不调用()
。
我想到的一个例外是调用函数句柄/匿名函数需要()
。
要调用不需要任何输入且不返回任何输出的函数,请仅键入函数名称
没有明确告知的一个含糊不清的事情就是分配这样一个函数调用的输出是完全有效的。
我会注意到我并不喜欢()
是可选的,因为它首先隐藏了函数调用。因此,我尝试尽可能频繁地使用()
来表明我正在调用一个函数,因此几乎所有脚本都以clc();clear();
开头。