有时我会加载.m文件在工作区中工作,但我通常会忘记我最近打开的文件是什么。因此,与编写who
的方式相同,您可以看到工作空间的变量,我想应该有一个命令来了解您正在使用的.m文件。
有谁知道这样的命令?
非常感谢你。
答案 0 :(得分:2)
对于较新的MATLAB版本,有一种方法可以在编辑器中获取当前正在编辑的文件的完整路径:
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 :(得分:1)
mfilename似乎是正确的选择,但是当从命令行调用时它返回一个空字符串。因此,您可以检查IDE提供的“命令历史记录”。
对于较大的项目,最常使用MATLAB的对象模型或至少是函数来构建您的工作。在“工作区”中工作通常会导致不必要的副作用。
答案 2 :(得分:1)
我做这样的事情来引导运行:
%%
params.run = 'hairy.m';
params.hair = 10;
setup_defaults(params);
run_lots_of_code(params);
这具有优势,因为它隐藏了单个全局(params)中的'全局变量',并且全局告诉您它们来自何处。