Matlab:如何知道您在工作区中使用的文件名?

时间:2011-09-03 16:22:53

标签: matlab command workspace

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

3 个答案:

答案 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)中的'全局变量',并且全局告诉您它们来自何处。