matlab2012bから生成された.matファイルがあります。これには、ユーザー定義のmatlabクラスを持つ変数が含まれています。
Python 3.3でscipy.io.loadmatを使用してファイルをロードすると、次のようになります。
mat=scipy.io.loadmat('D:\test.mat')
mat
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Fri Feb 22 15:26:28 2013', '__function_workspace__': array([[ 0, 1, 73, ..., 0, 0, 0]], dtype=uint8), '__globals__': [], '__version__': '1.0', 'None': MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])}
タイプ「cStream」の「futureDS」オブジェクトにアクセスしようとしていますが、mat['None']を使用してアクセスできないようです。mat ['None']を呼び出すと、次のようになります。
MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])
私はここで立ち往生しています。私はPythonを初めて使用し、古い作業をmatlabから移植しようとしています。どんな助けでもいただければ幸いです。
ありがとうございました。