How to save logged signal to a MAT file without using 'TO WORKSPACE' block ?

5 visualizzazioni (ultimi 30 giorni)
I have a MATLAB GUI which can be used to run multiple simulations and plot results. The user selects the signals by clicking on the signal (which are selected by the GUI using Signal Logging).
Additionally, I want to save all the user selected signals into a MAT file. Is there a meathod to save the logged signals in SImulink model into a MAT file ?

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 31 Ago 2016
If it is done through customized GUI, it might depend on the customized GUI.
If it is done through right click the signal line, select "Signal Properties ....", check "Log signal data" and specify a name.
In the model menu "Simulation", "Configuration Parameters ...", "Data Import/Export", check "Signal logging". By default, the signal logging is saved in the variable logsout in the MATLAB workspace. You can then save logsout to a .mat file.
logsout is an object. Use logsout.unpack('all') to unpack the signal logging.
  3 Commenti
Fangjun Jiang
Fangjun Jiang il 31 Ago 2016
I am not aware of a method to save signal logging directly to a .mat file. There is a block called "To File". I doubt that is what you want.
Sundeepan
Sundeepan il 6 Set 2016
I tried using unpack('all') but it works only for Simulink.ModelDataLogs or Simulink.SubsysDataLogs and not for Dataset. I require the logged signals as dataset as all the logged signals are also plotted:
plot(figure_name, logsout.getElement(signal).Values.Time,logsout.getElement(signal).Values.Data);
Is there a alternative to unpack('all') to extraxt the data and save in a mat file ?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Save Run-Time Data from Simulation in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by