Home > database >  How to export .csv files using a script in Dymola?
How to export .csv files using a script in Dymola?

Time:12-23

I am running a big set of simulations in Dymola using a script, so far, it works well.

However, it remains incomplete because all the results are still in .mat and I have not find a way to automatically save them as .csv.

I found the DataFiles.convertMATtoCSV() function, but it requires me to specify a list of variables to export. I would like it to export all the variables without writing them one by one, is it possible?

CodePudding user response:

In the Dymola Manual, there is a section "Saving all values into a CSV file".
It contains the following example code:

// Define name of trajectory file (fileName) and CVS file
// (CSVfile)
fileName="PID_Controller.mat";
CSVfile="AllVariables.csv";

// Read the size of the trajectories in the result file and
// store in 'n'
n=readTrajectorySize(fileName);

// Read the names of the trajectories
names = readTrajectoryNames(fileName);

// Read the trajectories 'names' (and store in 'traj')
traj=readTrajectory(fileName,names,n);

// transpose traj
traj_transposed=transpose(traj);

// write the .csv file using the package 'DataFiles'
DataFiles.writeCSVmatrix(CSVfile, names, traj_transposed);

This should do what you want. Also it gives room for customization if necessary later...

  • Related