Matlab函数不会将变量“发布”到工作空间

时间:2017-05-04 03:46:57

标签: matlab

我在MatLab中使用了一些用户生成的函数。如果我不在这里发布我的实际代码会更快,所以我将总结一下。

我有两个功能。它们中的每一个都存在于以其专有名称保存的自己的文件中。它们可以被调用并正常工作。让我们说function1是:

function [Output1] function1=(a,b)

Output1=a+b

end
function [Output2] function2=(a,Output1)

Output2=a+Output1

end

新脚本文件

a=2;
b=3;

function1(a,b);
function2(a,Output1);

这不起作用,因为function1没有将Output1发布到工作区中。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

检查tutorial。这就是你应该如何写一个函数。

function Output1 = function1(a, b)

Output1 = a + b;

end

然后你的第二个函数将获得输入。但是如果你不像上面那样改变它,这次你将不会在工作空间中输出-2。如下所示;

function Output2 = function2(a, Output1)

Output2 = a + Output1;

end

当然,您需要存储函数的答案以将它们放在工作区中。

aa=2;
bb=3;

Output11 = function1(aa,bb);
Output22 = function2(aa,Output11);

如果您不使用Output11Output22,函数会将其结果存储在工作区中的ans变量中。显然,除了你不能将变量传递给第二个函数之外,第二个函数将覆盖ans,假设你使用可用变量作为输入。