0

モード形状データを含む NASTRAN からの HDF5 出力ファイルがあります。それらをMatlabとPythonに読み込んで、さまざまな後処理手法を確認しようとしています。問題のファイルは、これらの両方のテストのローカル ディレクトリにあります。ファイルは 1.2 GB とセミラージですが、私が以前に読んだ HDF5 ファイルに関してはそれほど大きくありません。アクセスしたいテーブルには 17567342 行と 8 列があります。最初と最後の列は整数で、中間の 6 列は浮動小数点数です。

マトラブ:

file = 'HDF5.h5';
hinfo = hdf5info(file);
% ... Find the dataset I want to extract
t = hdf5read(file, '/NASTRAN/RESULT/NODAL/EIGENVECTOR');

この最後の操作は非常に低速です (時間単位で測定できます)。

パイソン:

import tables
hfile = tables.open_file("HDF5.h5")
modetable = hfile.root.NASTRAN.RESULT.NODAL.EIGENVECTOR
data = modetable.read()

この最後の操作は基本的に瞬時です。dataその後、numpy 配列であるかのようにアクセスできます。これらのコマンドが何をしているのかについて、非常に基本的なことが明らかに欠けています。データ変換と関係があるのではないかと考えていますが、よくわかりません。もしそうなら、私はtype(data)戻っnumpy.ndarraytype(data[0])戻ってきますnumpy.void

必要なデータセットを Matlab に読み込む正しい (つまり、迅速な) 方法は何ですか?

4

2 に答える 2