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 件のコメント
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
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
2022 年 1 月 17 日
What exactly did you edit? And how does that answer our questions?
回答 (1 件)
Image Analyst
2022 年 1 月 17 日
Try creating a double array from your structure:
data = [Data.axis1(:), Data.axis2(:), Data.axis3(:), Data.datenum(:)];
writematrix(data, fullFileName);
カテゴリ
ヘルプ センター および File Exchange で Variables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!