2015-03-17 2 views
0

Я пытаюсь извлечь определенный слой из нескольких (> 4000) HDF5 files. Я использовал код ниже. Он работал, но когда я попытался загрузить новые сохраненные файлы, они не были распознаны как HDF5. Помощь будет высоко оценена.Как сохранить выделенную переменную или слой из нескольких файлов HDF5

files=dir('C:\OLD_GPM\*.HDF5') % Open dataset 
for j = 1:numel(files) 
     r = h5read(files(j).name,'/Grid/precipitationCal');% Read the correct layer "Precipitation calibrated mm/hr" 
save([''C:\New_GPM\' files(j).name],'r'); % save this layer 
end 
+0

Вы можете попробовать применить версию 7.3 при использовании 'save' (более старые версии mat-файла не используют hdf5), попробуйте' hdf5write' – Daniel

+0

Очень благодарен Даниэлю за добрый ответ. Мне интересно, можно ли сразу преобразовать файлы в .mat-файлы? – AdeB

+0

Если вы хотите, чтобы матовые файлы на основе HDF5 использовали 'save (['C: \ New_GPM \' файлы (j) .name], 'r', '- v7.3');' – Daniel

ответ

0

Only mat-file version 7.3 являются hdf5 файлами, все более старые версии используют другой формат. Используйте save(['C:\New_GPM\' files(j).name],'r','-v7.3'); для принудительного написания файла HDF5.

Смежные вопросы