Can the value of a parameter in a model workspace be determined programatically and not dirty the model workspace?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Doug Eastman
2012-4-3
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.
采纳的回答
Doug Eastman
2011-1-28
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 个评论
Doug Eastman
2011-2-1
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Programmatic Model Editing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!