【发布时间】:2014-12-30 07:37:56
【问题描述】:
免责声明:我实际上使用的是 Scilab,但它与 MATLAB 非常相似,根据我的研究,似乎 MATLAB 也会出现同样的现象。
在 MATLAB 中,函数可以是多输出的。假设我们有一个函数function [a, b] = f(x)。如果我输入:
c = f(x)
然后c 被赋予第一个输出的值。如果我输入:
[a, b] = f(x)
然后[a, b] 被赋予两个输出对的值。这似乎暗示 MATLAB 没有referential transparency。表达式f(x) 的实际值是多少?怎么回事?
【问题讨论】:
-
是的,Matlab 不是参照透明的。否则,您可以索引函数的结果。我认为这是为了让编程“更容易”,因为有些函数的第二和第三输出“不太重要”。
标签: matlab function scilab referential-transparency multiple-variable-return