我想创建一个函数function ExtremePoints = AnalyseData( ScanData ).
我希望能够在不传递参数ScanData的情况下运行该函数,在这种情况下,我想使用Matlab Workspace中具有相同名称的变量.
这是可能的,在函数体内部使用工作空间中出现的变量ScanData吗?
或者我应该先将工作空间中变量ScanData的内容保存到.mat文件中,然后将该文件加载到函数体中?
Edr*_*ric 11
有可能,也许不完全推荐.这是如何做:
function ExtremePoints = AnalyseData( ScanData )
if nargin == 0
ScanData = evalin( 'base', 'ScanData' );
end
% do stuff
Run Code Online (Sandbox Code Playgroud)
如果没有提供输入参数,ScanData则从base工作空间中提取值(nargin == 0).
使用eval和evalin通常不鼓励,因为它使您的代码更难理解和重用.