我只是想要一些关于Matlab函数的建议,更多的是为了确认我做的是否正确。
这是我的代码。matlab函数减速
function [output] = myfunc(input1, input2);
output = input1 * input2;
然后我叫我的主要代码功能,如下图所示:
res = myfunc(10, 20);
disp(res);
这是正确的函数的语法和将这个返回答案,是我的问题。我担心的是,尽管名称不同,但输出仍然有效。
我只是想要一些关于Matlab函数的建议,更多的是为了确认我做的是否正确。
这是我的代码。matlab函数减速
function [output] = myfunc(input1, input2);
output = input1 * input2;
然后我叫我的主要代码功能,如下图所示:
res = myfunc(10, 20);
disp(res);
这是正确的函数的语法和将这个返回答案,是我的问题。我担心的是,尽管名称不同,但输出仍然有效。
第output
和output1
是不同的变量,MATLAB不会从myfunc
返回任何东西。
如果您问的是res
,那么在那里使用不同的变量名是没有问题的。您正在将返回值分配给名为res
的新变量。 (虽然它可能驻留在相同的内存位置...)
res = myfunc(10, 20):
应该res = myfunc(10, 20);
和output = input1 * input2;
应output1 = input1 * input2;
所以你的功能将类似于:
function [output1] = myfunc(input1, input2)
output1 = input1 * input2;
end
刚注意到我的错误,纠正了它们。 – user1978826 2013-05-12 16:10:38
输出参数应与功能代码中的名称相同,例如:
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".
没关系。即使你用'res'调用它,它也会工作。 'output'只是一个临时变量。我不认为这需要一个答案。 – 2013-05-12 16:17:32
如果您不确定,请尝试一下!这是学习的最佳方式。用MATLAB玩。 – 2013-05-12 17:52:08