2013-05-12 87 views
-2

我只是想要一些关于Matlab函数的建议,更多的是为了确认我做的是否正确。
这是我的代码。matlab函数减速

function [output] = myfunc(input1, input2); 

output = input1 * input2; 

然后我叫我的主要代码功能,如下图所示:

res = myfunc(10, 20); 
disp(res); 

这是正确的函数的语法和将这个返回答案,是我的问题。我担心的是,尽管名称不同,但输出仍然有效。

+2

没关系。即使你用'res'调用它,它也会工作。 'output'只是一个临时变量。我不认为这需要一个答案。 – 2013-05-12 16:17:32

+2

如果您不确定,请尝试一下!这是学习的最佳方式。用MATLAB玩。 – 2013-05-12 17:52:08

回答

1

outputoutput1是不同的变量,MATLAB不会从myfunc返回任何东西。

如果您问的是res,那么在那里使用不同的变量名是没有问题的。您正在将返回值分配给名为res的新变量。 (虽然它可能驻留在相同的内存位置...)

1

res = myfunc(10, 20):应该res = myfunc(10, 20);output = input1 * input2;output1 = input1 * input2;

所以你的功能将类似于:

function [output1] = myfunc(input1, input2) 
output1 = input1 * input2; 
end 
+0

刚注意到我的错误,纠正了它们。 – user1978826 2013-05-12 16:10:38

1

输出参数应与功能代码中的名称相同,例如:

function [output1] = myfunc(input1, input2); 

output1 = input1 * input2; 

否则,在拨打res = myfunc(10, 20);时,您将收到错误消息,例如:Output argument "output1" (and maybe others) not assigned during call to "myfunc.m>myfunc".