1

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

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

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

%% 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:

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

而且,在家里,它应该是这样的:

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

有没有办法让 Matlab 在脚本内部理解从一种情况更改为另一种情况而无需更改整个脚本?从某种意义上说,我只想改变路径的开始而不是结束。

此外,我在第三台计算机上的 linux 下工作,任何关于三个系统之间如何协调的帮助将不胜感激。

非常感谢。

亲切的问候,

奥利维尔。

4

1 回答 1

1

你不能只定义一个变量,比如

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

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

datapath = '/home/hubert/data'

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

addpath(datapath);

加上使用(平台无关的)MATLAB 函数fullfile添加下一个文件夹

f = fullfile(datapath,'subfolder','somefile.mat');
load(f);
于 2013-08-29T13:42:10.423 回答