Dostęp do bazy danych w ptbdb Physionet firmy Matlab
Najpierw ustawiłem system
[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
Próbuję odczytać bazy danych zFizjoterapia. Udało mi się dotrzeć do jednej bazy danychmitdb przez
[tm,sig]=rdsamp('mitdb/100',1)
ale chcę dotrzeć do bazy danychptbdb bezskutecznie przez
[tm,sig]=rdsamp('ptbdb/100',1)
i zdobądź błąd
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)
Pierwszy komunikat o błędzie odnosi się do tych linii wrdsamp.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
Ta liniaif(~isempty(siginfo))
jest fałszywy oznacza, żesiginfo jest pusty, to znaczy nie ma sygnału.Czemu? Myślę, że nie ma dostępu do bazy danych. Myślę, że wynikają z tego inne błędy. Więc błąd musi wynikać z tej linii
[siginfo,~]=wfdbdesc(recordName);
Co oznacza wąż w nawiasach?
Jak można uzyskać dane z ptbdb firmy Matlab?
Więc
Czy ten błąd oznacza, że nie można nawiązać połączenia z bazą danych? lubże nie ma takich danych w bazie danych?
Byłoby bardzo miło wiedzieć, jak sprawdzić, czy masz połączenie z bazą danych, jak w Postrgres. Byłoby znacznie łatwiej debugować.