1

私は Matlab コードを書いていて、別のデスクトップからアクセスしたいので、すべてをドロップボックスに保管しています。別のマシンを使用するたびにコードを変更せずに、Matlab に現在のパスを伝える方法があるかどうか疑問に思っています。たとえば、次の行は私のコードにありますが、すべてのコンピューターで使用できるように、より一般的なものにしたいと考えています。ファイルへの正しいパスを MATLAB に伝えるにはどうすればよいですか?

[num,txt,raw]= xlsread('C:\Users\Zahra\Documents\dropbox \data.xlsx');
4

2 に答える 2

1

Dropbox フォルダーは、Windows のフォルダーにあるフォルダー内の host.db ファイルで base64 コーディングされていますAppData。クロスプラットフォームかどうかはわかりませんが、私のシステムとドロップボックスで動作します。

%http://www.mathworks.com/matlabcentral/fileexchange/15886-get-application-data-directory/content/getapplicationdatadir.m 
%http://www.mathworks.com/matlabcentral/fileexchange/12907-xmliotools/content/base64decode.m
f = getapplicationdatadir('dropbox', 0, 0);
hostdb = fopen([f '/host.db']);
%skip line
fgetl(hostdb);
s = fgetl(hostdb);
path = sprintf('%s', base64decode(s));
cd(path);
于 2013-10-08T17:45:29.503 に答える
1

DropBox パスを含む cell 配列を使用して、次のようにisdir埋め込んでテストできcellfunます。

dropbox_path = {'/Users/x/Dropbox/';
    '/Users/xx/Dropbox/';
    '/Users/xxx/Dropbox/'};

dropbox_path = dropbox_path{cellfun(@isdir,dropbox_path)}

次に、ファイルを読み取ります

[num,txt,raw]= xlsread([dropbox_path 'data.xlsx']);
于 2013-10-08T17:42:53.693 に答える