Can the value of a parameter in a model workspace be determined programatically and not dirty the model workspace?

1 visualización (últimos 30 días)
The only way I know of to determine the value of a parameter in the model workspace is like this:
hws = get_param('mymodel','modelworkspace'); p = hws.evalin('param');
Howevever, the call to evalin makes the model workspace dirty. Is there a way to get the value of param and keep the model workspace clean? It would be nice if there was:
p = hws.read('param');
which would have no effect on the cleanliness of the model workspace.
  3 comentarios
Doug Eastman
Doug Eastman el 3 de Abr. de 2012
Dirty means that MATLAB thinks the file has changed since it was last saved on disk and is indicated by an * next to the name in the title bar. This results in for example a dialog box popping up when the model/file is closed asking if you want to save changes.
In this context the model workspace being dirty means that the model itself is dirty.

Iniciar sesión para comentar.

Respuesta aceptada

Doug Eastman
Doug Eastman el 28 de En. de 2011
Here is one way that does not dirty the model:
hws = get_param('mymodel','modelworkspace');
myData = hws.data;
p = myData(strcmp({myData.Name},'param')).Value;
clear('myData')
  3 comentarios
Doug Eastman
Doug Eastman el 1 de Feb. de 2011
I thought I did see it in the doc, but now I can't find it so maybe not. I'm pretty sure I first saw this by hitting tab after typing 'hws.' to see a list of all the properties and methods, something I generally do when playing with new objects.
Paul
Paul el 1 de Feb. de 2011
I found it using the tab approach also. Should I be worried about using an undocumented method? I wonder why it and others are not documented. hws.data and hws.isDirty are very useful.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programmatic Model Editing 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