Saving a .mat file in csv format

I have a .mat file and the data structure is as below.
Data =
struct with fields:
axis1: [25626600×1 double]
axis2: [25626600×1 double]
axis3: [25626600×1 double]
datenum: [25626600×1 double]
sample_rate: 30
serial_number: 'MOS2D10171145'
I want this .mat file to be save as a csv file.
I tried this code but it gives me this error.
csvwrite('FileName.csv', Data);
Undefined function 'real' for input arguments of type 'struct'.
Error in dlmwrite (line 189)
str = sprintf('%.*g%+.*gi',precn,real(m(i,j)),precn,imag(m(i,j)));
Error in csvwrite (line 42)
dlmwrite(filename, m, ',', r, c);

3 件のコメント

mbvoyager
mbvoyager 2022 年 1 月 6 日
編集済み: mbvoyager 2022 年 1 月 6 日
csvwrite does not support to write .mat files or struct type data into a csv file. It only supports numerical matrices.
So Data is a struct consisting of several fields with different data types (vectors, scala and string?) and Data is saved in a .mat file?
Rik
Rik 2022 年 1 月 6 日
How exactly would you like your csv file to be? Can you show an example with 10 elements (instead of the 25626600)?
Rik
Rik 2022 年 1 月 17 日
What exactly did you edit? And how does that answer our questions?

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

回答 (1 件)

Image Analyst
Image Analyst 2022 年 1 月 17 日

0 投票

Try creating a double array from your structure:
data = [Data.axis1(:), Data.axis2(:), Data.axis3(:), Data.datenum(:)];
writematrix(data, fullFileName);

カテゴリ

ヘルプ センター および File ExchangeVariables についてさらに検索

製品

リリース

R2021a

タグ

質問済み:

2022 年 1 月 6 日

回答済み:

2022 年 1 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by