Import and Read .mat File in Python

839 ビュー (過去 30 日間)
Nick Froidl
Nick Froidl 2021 年 2 月 9 日
コメント済み: mbvoyager 2022 年 11 月 18 日
Hello,
i have to load and read a .mat File into Python. The File is an 1x1 double timeseries Output from SImulink wiith "Time" and "Data".
I want do print the Data and Time in the Python console.
I tried a lot but cant figure it out!
  1 件のコメント
svanimisetti
svanimisetti 2022 年 11 月 18 日
I am looking for similar functionality. Have you found an answer yet?

サインインしてコメントする。

回答 (1 件)

mbvoyager
mbvoyager 2022 年 11 月 18 日
編集済み: mbvoyager 2022 年 11 月 18 日
Let us assume you have this vector in MATLAB:
mu = randn(100,1);
You can save this vector using following command:
save('mu.mat','mu','-v4')
Please note that I chose the
'-v4'
option to save the .mat file in an older file format. This can be easily read by python with the following script. Make sure the mu.mat file is inside the same folder as this script:
import scipy.io as sio
muf = sio.loadmat('mu.mat')
mu = muf.get('mu')
mu = mu.flatten()
print(mu)
There are other questions regarding the standard .mat file format from MATLAB, this you can find here: StackOverflow read .mat files. Here someone suggested to use a custom written package for python called 'mat73'.
In general .mat files are an variation of the well known HDF file format so with the latest version of a HDF5 reader and the latest .mat file version, there are very likely other options to import .mat files in different programming languages than the one that I present here.
  2 件のコメント
svanimisetti
svanimisetti 2022 年 11 月 18 日
Thanks for the quick reply @mbvoyager. Does this also work for .mat/mldatx files that contain TimeSeries data? This would typically be output/log from Simulink runs. I tried to use 'hf5py' module, but was unable to read TimeSeries data stored in a .mat file. Scipy seems to work well for cases when Maltab workspace is saved to .mat file.
mbvoyager
mbvoyager 2022 年 11 月 18 日
can you provide some test data? E.g. a small dummy file representing the data structure you are using? I do not work with the TimeSeries data format.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDownloads についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by