Banco de dados de acesso no ptbdb do Physionet por Matlab
Eu configurei o sistema primeiro
[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-3.zip';
[filestr,status] = urlwrite(wfdb_url,'wfdb-app-toolbox-0-9-3.zip');
unzip('wfdb-app-toolbox-0-9-3.zip');
cd mcode
addpath(pwd);savepath
Eu estou tentando ler bancos de dados dePhysionet. Eu cheguei com sucesso a um banco de dadosmitdb por
[tm,sig]=rdsamp('mitdb/100',1)
mas eu quero alcançar o banco de dadosptbdb sem sucesso por
[tm,sig]=rdsamp('ptbdb/100',1)
e obter o erro
Warning: Could not get signal information. Attempting to read signal without buffering.
> In rdsamp at 107
Error: Cannot convert to double:
init: can't open header for record ptbdb/100
Error using rdsamp (line 145)
Java exception occurred:
java.lang.NumberFormatException: Cannot convert
at org.physionet.wfdb.Wfdbexec.execToDoubleArray(Unknown Source)
A primeira mensagem de erro refere-se a essas linhasrdsamp.m:
if(isempty(N))
[siginfo,~]=wfdbdesc(recordName);
if(~isempty(siginfo))
N=siginfo(1).LengthSamples;
else
warning('Could not get signal information. Attempting to read signal without buffering.')
end
end
Está linhaif(~isempty(siginfo))
é falso significa que osiginfo está vazio, ou seja, não há sinal.Por quê? Nenhum acesso ao banco de dados, eu acho. Eu acho que outros erros decorrem disso. Então o erro deve seguir desta linha
[siginfo,~]=wfdbdesc(recordName);
O que a cobra quer dizer aqui entre parênteses?
Como você pode obter dados do ptbdb pelo Matlab?
assim
Esse erro significa que a conexão não pode ser estabelecida no banco de dados? ouque não existem tais dados no banco de dados?
Seria muito bom saber como você pode verificar se você tem conexão com o banco de dados como no Postrgres. Seria muito mais fácil de depurar.