matlab - matlab函数的命令语法仍然生成输出?

标签 matlab

two ways Matlab中调用函数,命令语法和函数语法。 我正在查看其他人编写的代码,其中一个 .m 文件中有如下语句:

params=sys_params;

而 sys_params 在另一个 .m 文件中定义为函数:

function params=sys_params()

params 恰好是一个结构体。 我想知道的是,如果根据Matlab文档,命令语法不能用于函数的输出,那么第一条语句如何完美运行?

最佳答案

有两件事:

  1. 命令和函数语法之间的区别在传递参数时发挥作用。

  2. 在 MATLAB 中调用函数时,在不带参数的情况下调用时,括号是可选的。 MATLAB 将调用该函数,而无需调用 ()与其他一些语言不同。

    我想到的一个异常(exception)是 ()需要调用函数句柄/匿名函数。

来自Calling Functions :

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/

相关文章:

matlab - save 使用什么默认的 mat 格式版本?

matlab - 如何将两个图形文件合并为一个文件

matlab - 如何在没有循环的情况下重新排列这个向量?

performance - 有效地计算matlab中的双和?

matlab - 使用matlab中的有序数据集绘制参数曲线

time-series - 在 MATLAB 中将数据拟合到 B 样条

string - Matlab能否去掉URL中的路径,只留下域名部分?

image - 如何提取图像中物体的RGB值?

string - 在 MATLAB 中将数字转换为字符串

MATLAB 的自定义 C dll - loadlibrary 错误