2013-06-18 75 views
0

我想創建一個在Matlab中查找特定路徑的函數。匹配Matlab的路徑

的問題是,路徑是可變的依賴於我的工作在我的程序的版本,所以

..../...../v1.1/file.m 

.../...../v1.2/file.m 

我想知道是否有一個函數用於變量名稱。另外,如果路徑太長,我不想全部寫完,是否有一個符號取代所有previos部分。我的意思是:

strfind(path,$/v1.1/file.m); 

但我不確定。

我將不勝感激!

+0

你看過'regexp'和'regexprep'嗎? – Shai

回答

1

如果您正在尋找版本號v1.X的實例的路徑,那麼您應該只餵它regexp。

關於存儲路徑的根目錄並將其與特定於版本的部分相結合,我通常使用fullfile來處理路徑分隔符,並使您的代碼系統獨立。最後,爲了處理版本編號,我使用了sprintf。我實驗室裏的很多人喜歡使用數組連接,但是我發現難以閱讀的代碼。

root = matlabroot; % Just an example of a root 
version = 1;  % Make this a variable in case of future upgrades 
subversion = 1; % The actual part from the question 
fullPth = fullfile(root, sprintf('v%i.%i', version, subversion), 'file1'); 
0

你想做類似的事嗎?

versionOfProgram = 'v1.2'; 
f = fullfile('C:', 'Applications', 'matlab', versionOfProgram, 'file.m');