我用matlab编写了一个函数如下。
function xout= testfunc(b)
xout = b;
end
我通过给出b的值来执行此功能,如下所示。
addpath ('C:\Users\vish\docs\copy');% this is the place of the file location
testfunc(5);
这给了我一个工作空间中的变量ans,它等于5,这是所有函数被激发后的一般变量。但问题是,即使函数执行正确,当尝试使用变量时xout它给出以下错误消息。
addpath ('C:\Users\vish\docs\copy');
testfunc(5);
varout
未定义的功能或变量' varout'。
非常感谢任何帮助。
答案 0 :(得分:1)
默认情况下,如果您没有将函数返回值赋给变量,Matlab会将其分配给ans
(正如您已经体验过的那样)。致电
testfunc(5)
Matlab将在工作空间中创建一个名为ans
的变量,其值为5
。
名称xout
也是函数体中的输出变量名称(即在testfunc
脚本中输出变量名称称为xout
)但是当你调用它时您可以将其输出分配给任何变量(即使用您喜欢的名称)。
myNewOutput=testfunc(5)
和myNewOutput
将具有值5
。或者您也可以使用您在函数中使用的相同名称,由您决定:
xout=testfunc(5)
和xout
也会有值5
。