2011-09-03 132 views
1

有时候我会加载一个.m文件在工作区中工作,但我通常会忘记最近打开的文件是什么。因此,以与编写who相同的方式,您可以看到工作空间的变量,我想应该有一个命令来知道您正在使用的.m文件是什么。 有没有人知道这样的命令? 非常感谢。Matlab:如何知道在工作区中使用的文件名称?

+0

[在Matlab中查找当前m文件的位置]的可能重复(http://stackoverflow.com/questions/2720140/find-location-of-current-m-file-in-matlab) – abcd

回答

1

mfilename似乎是正确的选择,但它从命令行调用时会返回一个空字符串。因此您可以检查IDE提供的'命令历史记录'。

对于较大型的项目,通常使用MATLAB的对象模型或至少使用函数来构建工作是很有意义的。在'工作区'工作通常会导致不必要的副作用。

2

对于较新的MATLAB版本,还有一种方式来获得在编辑器中当前正在编辑的文件的FULLPATH:

if verLessThan('matlab', '7.10') 
    %# not supported 
    fname = ''; 
elseif verLessThan('matlab', '7.12') 
    %# R2010a,R2010b: editorservices 
    fname = editorservices.getActiveFilename; 
else 
    %# R2011a: matlab.desktop.editor API 
    fname = matlab.desktop.editor.getActiveFilename; 
end 
1

我做这样的事情来引导运行:

%% 
params.run = 'hairy.m'; 
params.hair = 10; 

setup_defaults(params); 

run_lots_of_code(params); 

这有其优势,因为它将“全局变量”隐藏在单个全局变量(params)中,全局变量告诉你它们来自哪里。

相关问题