prevent creating workspace variables

12 visualizzazioni (ultimi 30 giorni)
Leif
Leif il 24 Ott 2013
Commentato: Leif il 8 Nov 2013
Question: Is there a way (e.g. a command) to prevent Simulink generally to write data to workspace even if the scopes checkboxes are selected ?
Explanation: If you have a complex System with many signals and states you also need a lot of scopes and if you want to evaluate the signals in MATLAB you also need to save a lot of data into workspace. That slows down the computer.
For only to quickly see the change of a singe parameter you want a fast simulation, but unchecking all scope's boxes takes too long.

Risposte (2)

John Barber
John Barber il 24 Ott 2013
Try this:
h = find_system(bdroot,'BlockType','Scope');
for k = 1:length(h)
set_param(h{k},'SaveToWorkspace','off');
end
You could turn this into a function, and to get fancy, could have it toggle the value by reading the current parameter value for each scope block, then setting it to the opposite. In this way, you could just call the function at the command line to toggle the data export on or off.
Note that you may need to add some options to the find_system() call if you have scopes inside of masked subsystems or things like that. See the help doc for find_system for details.
  1 Commento
Leif
Leif il 8 Nov 2013
This works fine for me on the top level, but it won't work for my subsystems even if I type
h = find_system('System1/MySubSys1','BlockType','Scope');
or
h = find_system(bdroot,'BlockType','Scope','LookUnderMasks','all');

Accedi per commentare.


Vishal Rane
Vishal Rane il 28 Ott 2013
Have you checked explored these options?

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by