2013-08-29 52 views
1

我經常在幾臺計算機(家庭和工作)之間切換,並且我開始意識到我正在使用的幾個Matlab腳本沒有相同路徑的問題。MATLAB:根據計算機名稱更改文件和腳本的路徑

我想知道是否有一種方法根據計算機的名稱自動更改路徑。

在我的每臺電腦中,我有一個startup.m腳本,默認情況下會設置所有opiton。在此m文件,檢索到計算機的名稱,並在開關環境中使用它:

%% Startup.m : use this for all personal settings 

username = getenv('UserName'); 
computername = getenv('ComputerName'); 
switch [username, '@', computername] 
    case '[email protected]' 
     % do something in office... 
%  case '[email protected]' 
%   % do something at home... 
    case '[email protected]' 
    otherwise 
     disp('Oh no no no!'); 
    return 
end 

然後,在我的劇本,我有一個看起來像(說)在辦公室的讓addpath:

addpath('C:\ohubert\documents\data') 

,並在家裏,應該是這樣的:

addpath('d:\olivier\documents\data') 

有沒有一種方法,使Matlab的瞭解腳本里面從一個案例切換到其它而不必更改整個腳本?從某種意義上說,我只想改變道路的開始,而不是結束。

此外,我正在linux下的第三臺計算機上工作,以及如何協調三個系統之間的協調將不勝感激。

非常感謝。

親切的問候,

奧利維爾。

+0

也許你可以用這個下一個文件夾來達到同樣的目的:http://stackoverflow.com/questions/15103440/matlab -set-current-folder-to-scripts-locaton – Dan

+0

在startup.m中調用addpath()嗎?如果不是,爲什麼不使用相對路徑? (例如addpath('./ code')) –

+0

@丹,我看過那篇文章,但沒有滿足我的需求。 – user89073

回答

1

你就不能這樣定義

datapath = 'C:\ohubert\documents\data' 

分別變量(你的Linux計算機上)

datapath = '/home/hubert/data' 

,然後使用所有功能的變量?

addpath(datapath); 

另外添加使用(獨立平臺)功能的MATLAB fullfile

f = fullfile(datapath,'subfolder','somefile.mat'); 
load(f); 
+0

非常感謝,我確實會在_switch_的每個case中插入一個變量作爲startingfolder ='c:\ ohubert \ documents',並在腳本中使用fullfile或[startingfolder'\ data \ subfolders']再次感謝。 – user89073

相關問題