MATLAB:根据计算机名称更改文件和脚本的路径

时间:2013-08-29 13:28:35

标签: matlab switch-statement

我经常在几台计算机(家庭和工作)之间切换,我已经意识到我正在使用的几个Matlab脚本没有相同路径的问题。

我想知道是否有根据计算机名称自动更改路径的方法。

在我的每台计算机中,我都有一个 startup.m 脚本,默认设置所有的opitons。在这个m文件中,我检索计算机的名称并在 switch 环境中使用它:

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

username = getenv('UserName');
computername = getenv('ComputerName');
switch [username, '@', computername]
    case 'oh@ECOP-CEREFIM06'
        % do something in office...
%     case 'Catsh@HOME'
%         % do something at home...
    case 'ohubert@eco-pai04'
    otherwise
        disp('Oh no no no!');
    return
end

然后,在我的脚本中,我有一个在办公室看起来像(例如)的添加路径:

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

而且,在家里,它应该是:

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

有没有办法让Matlab理解脚本内部从一个案例转换到另一个案例而不必更改整个脚本?从某种意义上说,我只想改变路径的开头而不是结束。

此外,我正在linux下使用第三台计算机,并且对于如何在三个系统之间进行协调以及任何帮助都会非常感激。

非常感谢。

亲切的问候,

奥利弗。

1 个答案:

答案 0 :(得分:1)

你不能只定义一个像

这样的变量
datapath = 'C:\ohubert\documents\data'

分别(在您的Linux计算机上)

datapath = '/home/hubert/data'

然后在所有函数中使用变量?

addpath(datapath);

使用(平台无关的)MATLAB函数fullfile

添加下一个文件夹
f = fullfile(datapath,'subfolder','somefile.mat');
load(f);