2011-09-03 17 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)中,全局變量告訴你它們來自哪裏。

相關問題