Почему не удается установить WFDB?

Я устанавливаю WFDB Toolbox for Matlab 2016a в Ubuntu Linux 14.04 64bit, инструкция здесь.

[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. 

Я хочу сохранить в место по умолчанию, указанное в ошибке, т.е. в файл per-user pathdef.m.

Результаты ответа thrig'а

  • Работает в последнем обновлении Ubuntu 16.04 64 bit
  • Не работает в OS X El Capitan.

Делаем в Terminal

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

Как установить WFDB с помощью per-user pathdef.m файла в Matlab 2016a?

0
09.07.2016, 19:23
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.

1
28.01.2020, 02:49

Теги

Похожие вопросы