function z = h5Complex(file, dset) data = hdf5read(file, dset); dims = size(data); rank = size(dims,2); switch rank case {1} for i=1:dims(1) z(i)=complex(cell2mat(data(i,1).Data(1)), cell2mat(data(i,1).Data(2))); end case {2} for i=1:dims(1) for j=1:dims(2) z(i,j)=complex(cell2mat(data(i,j).Data(1)), cell2mat(data(i,j).Data(2))); end end case {3} for i=1:dims(1) for j=1:dims(2) for k=1:dims(3) z(i,j,k)=complex(cell2mat(data(i,j,k).Data(1)), cell2mat(data(i,j,k).Data(2))); end end end end