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

5 visualizaciones (últimos 30 días)
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 ?

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 31 de Ag. de 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 comentarios
Fangjun Jiang
Fangjun Jiang el 31 de Ag. de 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 el 6 de Sept. de 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 ?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Save Run-Time Data from Simulation en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by