WFDBをインストールできないのはなぜですか?

WFDBをインストールできないのはなぜですか?

Ubuntu Linux 14.04 64ビットにMatlab 2016aのWFDB Toolboxをインストールしました。インストール手順は次のとおりです。ここ。はい

[old_path]=which('rdsamp');if(~isempty(old_path)) rmpath(old_path(1:end-8)); end
wfdb_url='http://physionet.org/physiotools/matlab/wfdb-app-matlab/wfdb-app-toolbox-0-9-9.zip';
[filestr,status] = urlwrite(wfdb_url,'wfdb-app-toolbox-0-9-9.zip');%Octave users may have to download manually
unzip('wfdb-app-toolbox-0-9-9.zip');
cd wfdb-app-toolbox-0-9-9;cd mcode
addpath(pwd);savepath

権限の問題があります

Warning: Unable to save path to file '/usr/local/MATLAB/R2016a/toolbox/local/pathdef.m'. You
can save your path to a different location by calling SAVEPATH with an input argument that
specifies the full path. For MATLAB to use that path in future sessions, save the path to
'pathdef.m' in your MATLAB startup folder. 

エラーに表示されるデフォルトの場所、つまり各ユーザーのpathdef.mファイルに保存したいと思います。

thrigの返信結果

  • 最新の更新されたUbuntu 16.04 64ビット用
  • OS X El Capitanでは使用できません。

端末で進行

echo "export MATLAB_USE_USERWORK=1" >> $HOME/.bashrc
matlab -nodesktop -nosplash -r \ 
    "userpath('/home/masi/Documents/bin/matlab/'); exit;"

最終設定

if (exist('old_path', 'var') == 0) 
    home='/home/masi/';
    [old_path]=which('rdsamp');if(~isempty(old_path)) rmpath(old_path(1:end-8)); end
    wfdb_url='http://physionet.org/physiotools/matlab/wfdb-app-matlab/wfdb-app-toolbox-0-9-9.zip';
    [filestr,status] = urlwrite(wfdb_url,'wfdb-app-toolbox-0-9-9.zip');%Octave users may have to download manually
    unzip('wfdb-app-toolbox-0-9-9.zip');
    cd(fullfile(home, 'wfdb-app-toolbox-0-9-9', 'mcode'));
    addpath(fullfile(home, 'wfdb-app-toolbox-0-9-9/mcode/')); % me
    %addpath(fullfile('wfdb-app-toolbox-0-9-9', 'mcode'));
    % Bug command sets userpath to '', why? http://stackoverflow.com/q/38283814/54964
    %savepath(fullfile(home, 'pathdef.m')); % ~/pathdef.m originally
end

Matlab 2016aでユーザー固有のpathdef.mファイルを介してWFDBをインストールする方法は?

答え1

たとえば、ファイルへの書き込み権限を(一時的に)ユーザーに割り当て、インストールしてから権限を変更し直すsudo chown youruseraccount /usr/local/MATLAB/R2016a/toolbox/local/pathdef.mことができます。しかし、そうする権限がないと機能しません。別のオプションは、カスタムsavepath呼び出しを作成するように呼び出しを変更することですpathdef.m

$ cd
$ matlab
...
>> mkdir wfdb
>> cd wfdb
>> [old_path]=which('rdsamp');if(~isempty(old_path)) rmpath(old_path(1:end-8)); end
...
>> savepath ~/pathdef.m
>> exit
...
$ matlab
...
>> wfdb

これは、ホームディレクトリがmatlabの起動フォルダであると仮定します。ただし、ホームディレクトリをpathdef.m別のディレクトリに保存し、matlabをそのディレクトリから起動するようにしたり、matlabのデフォルト設定で初期フォルダパスを変更したりできます。

関連情報