主题:matlab下往HDF文件中写入数据
最近在学习用Matlab处理HDF数据,想把处理好的数据重新写入回原文件中,试了很久没有成功。以下是写的程序是按帮助文件中的提示写的,但是却没有成功。整体程序运行没有出错,但文件写出用HDFEXPLORER打不开,而且数据A也没有写进HDF文件中,请高人指点。
sd_id = hdfsd('start','try2.hdf','DFACC_CREATE');
A = [ 1 2 3 4 5 ; 6 7 8 9 10 ; 11 12 13 14 15 ];
ds_name = 'A';
ds_type = 'double';
ds_rank = ndims(A);
ds_dims = fliplr(size(A));
sds_id = hdfsd('create',sd_id,ds_name,ds_type,ds_rank,ds_dims);
ds_start = zeros(1:ndims(A));
ds_stride = [];
ds_edges = fliplr(size(A));
stat = hdfsd('writedata',sds_id,ds_start, ds_stride, ds_edges, A);
stat1=hdfsd('endaccess',sds_id);
stat2=hdfsd('end',sd_id);
sd_id = hdfsd('start','try2.hdf','DFACC_CREATE');
A = [ 1 2 3 4 5 ; 6 7 8 9 10 ; 11 12 13 14 15 ];
ds_name = 'A';
ds_type = 'double';
ds_rank = ndims(A);
ds_dims = fliplr(size(A));
sds_id = hdfsd('create',sd_id,ds_name,ds_type,ds_rank,ds_dims);
ds_start = zeros(1:ndims(A));
ds_stride = [];
ds_edges = fliplr(size(A));
stat = hdfsd('writedata',sds_id,ds_start, ds_stride, ds_edges, A);
stat1=hdfsd('endaccess',sds_id);
stat2=hdfsd('end',sd_id);